-
Notifications
You must be signed in to change notification settings - Fork 3
Configuration
TestPipe currently uses the app.config appSettings section to manage configuration. This is targeted to be changed to a custom app config section in the next release.
TestPipe is not very knowledgeable of path (I know this is easy to fix). For now many of the paths that are needed are hard coded in the app.config (eww!). There may be breaking changes on the way for configuration.
| Attribute | Value | Description |
|---|---|---|
| browser.plugins | path to browser plugins folder | This should have the DLLs for the browser plugins (e.g. TestPipe.Selenium) that you want to use. |
| test.suites | "all" or specific tags | This indicates the test suites to run. If all, all test suites will be ran. If you include specific tags, only the suites that have the specified tag will be ran. |
| test.features | "all" or specific tags | This indicates what features to run. If all, all features will be ran. If you include specific tags, only the features that have the specified tag will be ran. |
| test.scenarios | "all" or specific tags | This indicates the feature scenarios to run. If all, all feature scenarios will be ran. If you include specific tags, only the feature scenarios that have the specified tag will be ran. |
| file.testSuite | name of test suite xml file | This file is assumed to be included in the folder you configure as file.basePath. |
| file.basePath | path to test assets | Test assets include your test suite and feature configuration files and test data scripts. |
TestPipe reads a JSON file for test suite configuration. The name of the file is determined by the file.testSuite configuration key in the app.config.
| Var Name | Value | Description |
|---|---|---|
| ApplicationKey | Application ID (Guid) | This value is not currently used, but will be used to uniquely identify various applications in test reporting. |
| BaseURL | URL of application | This is the root URL for the application. |
| Browser | browser name | IE, Chrome, FireFox, Safari, Headless, Remote. |
| DbConnection | database connection string | This is only used if database connectivity is necessary in your tests. There can be more than one connection string var and each should have a unique name. |
| Environment | name of environment being tested | In a multi-environment scenario (e.g dev, qa, staging, prod) you can have multiple config files or config transforms that will inform TestPipe of the environment context. This will also be used to identify environment tested in reports. |
| LoginURL | virtual path to login page | This is used to tell TestPipe where it can log in to the application. |
| LogoutURL | virtual path to logout page | This is used to tell TestPipe where it can log out of the application. |
| Name | name of the suite | When you have multiple suites that run varying features you can use the name to identify them (e.g. SmokeTest, UAT...). |
| TimeOut | default timeout in seconds (uint) | This sets the default timeout for loading a page and locating elements on a page. |
The Features property is an array that defines the features included in the test suite. The Feature node has an attribute "title" that is the title of the feature and matches the title in the feature file. The Feature node also has an attribute "name" which is the numerical index of the feature. So, if your feature file is defined as "Feature: 1. Search" your Feature would be,
"Title": "Login",
"Id": "1",
"Path": "Login_feature.json"
}```
| Var Name | Value | Description |
| ---------------------------- | ------------ | ------------------------------ |
| Title | name of the feature | This is the title of the feature from the feature file without the feature id prefix. |
| Id | feature id | This is the value before the dot in the feature title. |
| Path | name of the feature file | This is the name of the feature configuration file, including extension. |
```{
"ApplicationKey": "C5851267-AD37-482B-9762-A3FE5DF017EE",
"BaseURL": "https://www.google.com/",
"Browser": "IE",
"Environment": "Prod",
"LoginUrl": "",
"LogoutURL": "",
"Name": "Google",
"Timeout": 60,
"DbConnections": [
{
"Name": "Main",
"ConnectionString": "Data Source=localhost;Initial Catalog=Demo;Integrated Security=True"
},
{
"Name": "Security",
"ConnectionString": "Data Source=localhost;Initial Catalog=Demo;Integrated Security=True"
}
],
"Features": [
{
"Title": "Search",
"Id": "1",
"Path": "Search_feature.json"
},
{
"Title": "Result",
"Id": "2",
"Path": "Result_feature.json"
}
]
}```
Feature Configuration
---------------------
Coming soon, but not necessary for basic tests.
```{
"Id": "1",
"Title": "Login",
"Scenarios": [
{
"Id": "1",
"Data": {
"Username":"someuser",
"Password":"Gr33n@pp1e"
}
}
]
}```
Home | Getting Started | Documentation | Contribute | Copyright © 2014 Charles Bryant