-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserenity.properties
379 lines (379 loc) · 20 KB
/
serenity.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
# How to execute a test case via CLI ?
# mvn verify -Dcucumber.options="--tag <@Address-Change>"
# How to run a test suite via CLI?
# mvn verify <test> -Dtest=<UserProfileManagementTestSuite>
#serenity.test.root = net.serenitybdd.demos.todos.screenplay.features
#serenity.linked.tags = issue
#webdriver.base.url=http://localhost:8080/examples
#simplified.stack.traces=false
#serenity.use.unique.browser=true
#my.property=foo
#thucydides.activate.highlighting=true
#browserstack.browserName=chrome
#serenity.take.screenshots=FOR_FAILURES
#webdriver.wait.for.timeout=20000
#serenity.browser.width=400
#serenity.browser.height=400
#enable.markdown=story,narrative,scenario,step
serenity.browser.maximized=true
#serenity.issue.tracker.url = http://my.issue.tracker/MY-PROJECT/browse/{0}
#gecko.firefox.options={"binary": "/Applications/Firefox-49.1.app/Contents/MacOS/firefox-bin","log":{"level":"debug"}}
##############################################################################################
##########################################
## configure the configuration file
## clean verify serenity:aggregate -Dmaven.test.failure.ignore=true
###########################################
#### IE Browser config ####
###########################################
#webdriver.driver=iexplorer
#webdriver.ie.driver=C:\\Program Files\\IE_Web_Driver\\IEDriverServer.exe
###########################################
#### EDGE Browser config ####
###########################################
#webdriver.driver=edge
#webdriver.edge.driver=C:\\Program Files\\MS_Edge_Web_Driver_bin\\MicrosoftWebDriver.exe
###########################################
### Firefox Browser #######
###########################################
###############################
# TIS IS THE GOOD FIREFOX DRIVER
#webdriver.firefox.driver=/usr/local/bin/geckodriver
#webdriver.gecko.driver=/Users/john/eclipse-2018-workspace/Gecko-Driver/geckodriver
#gecko.firefox.options={"binary": "/Applications/Firefox.app/Contents/MacOS/firefox-bin","log":{"level":"debug"}}
###############################
#### CHROME Browser config ####
###########################################
###############################
# FOR MAC
# Drop the chromedriver file in the project path.
webdriver.driver=chrome
###############################
###############################
# FOR WINDOW
#webdriver.chrome.driver =C:\\Program Files\\Chrome_Web_Driver\\chromedriver.exe
###############################
# Appears at the top of the reports
serenity.project.name=Automation Practice Demo Project
# Root package for any JUnit acceptance tests
# Below is the default root of junit
serenity.test.root=src.test.java
# John Modifies this junit root
#serenity.test.root=net.thucydides.showcase.cucumber.junit
# Customize your requirements hierarchy
serenity.requirement.types=capabilities,feature
# To show version and RC(iteration)?
serenity.release.types=Version,Iteration
# Run the tests without calling webdriver - useful to check your Cucumber wireing
#serenity.dry.run=true
serenity.verbose.steps=true
# Customize browser size
serenity.browser.height=1150
serenity.browser.width=1060
# Update this portion to the Head Master in GitHUb
# How long does Serenity wait for elements that are not present on the screen to load
#webdriver.timeouts.implicitlywait = 30000
webdriver.wait.for.timeout=20000
######################################################
## All the Serenity options
#Running Serenity tests from the command line
#
#You typically run Serenity as part of the build process (either locally or on a CI server). In addition to the webdriver.driver option discussed about, you can also pass a number of parameters in as system properties to customize the way the tests are run. You can also place these files in a Properties file called serenity.properties (or thucydides.properties), in your project root directory.
#
#The full list is shown here:
#
#properties
#Absolute path of the property file where Serenity system property defaults are defined. Defaults to ~/serenity.properties
#
#webdriver.driver
#What browser do you want your tests to run in, for example firefox, chrome, phantomjs or iexplorer. You can also use the driver property as a shortcut.
#
#webdriver.provided_type
#If using a provided driver, what type is it. The implementation class needs to be defined in the webdriver.provided.{type} system property.
#
#webdriver.base.url
#The default starting URL for the application, and base URL for relative paths.
#
#webdriver.remote.url
#The URL to be used for remote drivers (including a selenium grid hub or SauceLabs URL)
#
#phantomjs.webdriver.port
#What port to run PhantomJS on (used in conjunction with webdriver.remote.url to register with a Selenium hub, e.g. -Dphantomjs.webdriver=5555 -Dwebdriver.remote.url=http://localhost:4444/wd/hub
#
#webdriver.remote.driver
#The driver to be used for remote drivers
#
#serenity.driver.capabilities
#A set of user-defined capabilities to be used to configure the WebDriver driver. Capabilities should be passed in as a space or semi-colon-separated list of key:value pairs, e.g. "build:build-1234; max-duration:300; single-window:true; tags:[tag1,tag2,tag3]"
#
#webdriver.timeouts.implicitlywait
#How long webdriver waits for elements to appear by default, in milliseconds.
#
#webdriver.wait.for.timeout
#How long webdriver waits by default when you use a fluent waiting method, in milliseconds.
#
#serenity.home
#The home directory for Serenity output and data files - by default, $USER_HOME/.serenity
#
#serenity.outputDirectory
#Where should reports be generated. If project contains only one module (root module), than this path will be relative to root module, if project contains more than one submodule - than this path will be relative to submodule directory, also this path can be different for each submodule or can be inherited from root project property.
#
#serenity.project.name
#What name should appear on the reports
#
#serenity.only.save.failing.screenshots
#Should Serenity only store screenshots for failing steps? This can save disk space and speed up the tests a little. It is very useful for data-driven testing. This property is now deprecated. Use serenity.take.screenshots instead.
#
#serenity.ext.packages*
#Extension packages. This is a list of packages that will be scanned for custom TagProvider implementations. To add a custom tag provider, just implement the TagProvider interface and specify the root package for this provider in this parameter.
#
#serenity.verbose.screenshots
#Should Serenity take screenshots for every clicked button and every selected link? By default, a screenshot will be stored at the start and end of each step. If this option is set to true, Serenity will record screenshots for any action performed on a WebElementFacade, i.e. any time you use an expression like element(\u2026\u200B).click(), findBy(\u2026\u200B).click() and so on. This will be overridden if the ONLY_SAVE_FAILING_SCREENSHOTS option is set to true. @Deprecated This property is still supported, but serenity.take.screenshots provides more fine-grained control.
#
#serenity.take.screenshots
#Set this property to have more finer control on how screenshots are taken. This property can take the following values:
#
#FOR_EACH_ACTION : Similar to serenity.verbose.screenshots
#
#BEFORE_AND_AFTER_EACH_STEP
#
#AFTER_EACH_STEP
#
#FOR_FAILURES : Similar to serenity.only.save.failing.screenshots
#
#DISABLED
#
#serenity.report.encoding
#Encoding used to generate the CSV exports
#
#serenity.verbose.steps
#Set this property to provide more detailed logging of WebElementFacade steps when tests are run.
#
#serenity.reports.show.step.details
#Should Thucydides display detailed information in the test result tables. If this is set to true, test result tables will display a breakdown of the steps by result. This is false by default.
#
#serenity.report.show.manual.tests=false
#Show statistics for manual tests in the test reports.
#
#serenity.report.show.releases=true
#Report on releases (defaults to true).
#
#serenity.restart.browser.frequency
#During data-driven tests, some browsers (Firefox in particular) may slow down over time due to memory leaks. To get around this, you can get Serenity to start a new browser session at regular intervals when it executes data-driven tests.
#
#thucycides.step.delay
#Pause (in ms) between each test step.
#
#untrusted.certificates
#Useful if you are running Firefox tests against an HTTPS test server without a valid certificate. This will make Serenity use a profile with the AssumeUntrustedCertificateIssuer property set.
#
#refuse.untrusted.certificates
#Don\u2019t accept sites using untrusted certificates. By default, Thucydides accepts untrusted certificates - use this to change this behaviour.
#
#serenity.timeout
#How long should the driver wait for elements not immediately visible.
#
#serenity.browser.width and serenity.browser.height
#Resize the browser to the specified dimensions, in order to take larger screenshots. This should work with Internet Explorer and Firefox, but not with Chrome.
#
#serenity.resized.image.width
#Value in pixels. If set, screenshots are resized to this size. Useful to save space.
#
#serenity.keep.unscaled.screenshots
#Set to true if you wish to save the original unscaled screenshots. This is set to false by default.
#
#serenity.store.html.source
#Set this property to true to save the HTML source code of the screenshot web pages. This is set to false by default.
#
#serenity.issue.tracker.url
#The URL used to generate links to the issue tracking system.
#
serenity.activate.firebugs=true
#Activate the Firebugs and FireFinder plugins for Firefox when running the WebDriver tests. This is useful for debugging, but is not recommended when running the tests on a build server.
#
#serenity.batch.strategy
#Defines batch strategy. Allowed values - DIVIDE_EQUALLY (default) and DIVIDE_BY_TEST_COUNT. DIVIDE_EQUALLY will simply divide the tests equally across all batches. This could be inefficient if the number of tests vary a lot between test classes. A DIVIDE_BY_TEST_COUNT strategy could be more useful in such cases as this will create batches based on number of tests.
#
#serenity.batch.count
#If batch testing is being used, this is the size of the batches being executed.
#
#serenity.batch.number
#If batch testing is being used, this is the number of the batch being run on this machine.
#
#serenity.use.unique.browser
#Set this to true for running all web tests in a single browser, for one test. Can be used for configuring Junit and Cucumber, default value is 'false'.
#
#restart.browser.each.scenario
#Set this to false for running all web tests in same story file with one browser, can be used when Jbehave is used. default value is 'false'
#
#serenity.locator.factory
#Set this property to override the default locator factory with another locator factory (for ex., AjaxElementLocatorFactory or DefaultElementLocatorFactory). By default, Serenity uses a custom locator factory called DisplayedElementLocatorFactory.
#
#serenity.native.events
#Activate and deactivate native events for Firefox by setting this property to true or false.
#
#security.enable_java
#Set this to true to enable Java support in Firefox. By default, this is set to false as it slows down the web driver.
#
#serenity.test.requirements.basedir
#The base folder of the sub-module where the jBehave stories are kept. It is assumed that this directory contains sub folders src/test/resources. If this property is set, the requirements are read from src/test/resources under this folder instead of the classpath or working directory. This property is used to support situations where your working directory is different from the requirements base dir (for example when building a multi-module project from parent pom with requirements stored inside a sub-module)
#
#serenity.proxy.http
#HTTP Proxy URL configuration for Firefox and PhantomJS
#
#serenity.proxy.http_port
#HTTP Proxy port configuration for Firefox and PhantomJS
#
#serenity.proxy.type
#HTTP Proxy type configuration for Firefox and PhantomJS
#
#serenity.proxy.user
#HTTP Proxy username configuration for Firefox and PhantomJS
#
#serenity.proxy.password
#HTTP Proxy password configuration for Firefox and PhantomJS
#
#serenity.logging
#Property for providing level of serenity actions, results, etc.
#
#QUIET : No Thucydides logging at all
#
#NORMAL : Log the start and end of tests
#
#VERBOSE : Log the start and end of tests and test steps, default value
#
#serenity.test.root
#The root package for the tests in a given project. If provided, Serenity will use this as the root package when determining the capabilities associated with a test. If you are using the File System Requirements provider, Thucydides will expect this directory structure to exist at the top of the requirements tree. If you want to exclude packages in a requirements definition and start at a lower level in the hierarchy, use the serenity.requirement.exclusions property.
#
#This is also used by the PackageAnnotationBasedTagProvider to know where to look for annotated requirements.
#
#serenity.requirements.dir
#Use this property if you need to completely override the location of requirements for the File System Provider.
#
#serenity.use.requirements.directories
#By default, Thucydides will read requirements from the directory structure that contains the stories. When other tag and requirements plugins are used, such as the JIRA plugin, this can cause conflicting tags. Set this property to false to deactivate this feature (it is true by default).
#
#serenity.annotated.requirements.dir
#Use this property if you need to completely override the location of requirements for the Annotated Provider. This is recommended if you use File System and Annotated provider simultaneously. The default value is stories.
#
#serenity.requirements.types
#The hierarchy of requirement types. This is the list of requirement types to be used when reading requirements from the file system and when organizing the reports. It is a comma-separated list of tags.The default value is: capability, feature.
#
#serenity.requirement.exclusions
#When deriving requirement types from a path, exclude any values from this comma-separated list.
#
#serenity.test.requirements.basedir
#The base directory in which requirements are kept. It is assumed that this directory contains sub folders src/test/resources. If this property is set, the requirements are read from src/test/resources under this folder instead of the classpath or working directory. If you need to set an independent requirements directory that does not follow the src/test/resources convention, use `serenity.requirements.dir1 instead
#
#This property is used to support situations where your working directory is different from the requirements base dir (for example when building a multi-module project from parent pom with requirements stored inside a sub-module.
#
#serenity.release.types
#What tag names identify the release types (e.g. Release, Iteration, Sprint). A comma-separated list. By default, "Release, Iteration"
#
#serenity.locator.factory
#Normally, Serenity uses SmartElementLocatorFactory, an extension of the AjaxElementLocatorFactory when instantiating page objects. This is to ensure that web elements are available and usable before they are used. For alternative behaviour, you can set this value to DisplayedElementLocatorFactory, AjaxElementLocatorFactory or DefaultElementLocatorFactory.
#
#chrome.switches
#Arguments to be passed to the Chrome driver, separated by commas. Example: chrome.switches = --incognito;--disable-download-notification
#
#webdriver.firefox.profile
#The path to the directory of the profile to use when starting firefox. This defaults to webdriver creating an anonymous profile. This is useful if you want to run the web tests using your own Firefox profile. If you are not sure about how to find the path to your profile, look here: http://support.mozilla.com/en-US/kb/Profiles. For example, to run the default profile on a Mac OS X system, you would do something like this:
#
#$ mvn test -Dwebdriver.firefox.profile=/Users/johnsmart/Library/Application\ Support/Firefox/Profiles/2owb5g1d.default
#On Windows, it would be something like:
#
#C:\Projects\myproject>mvn test -Dwebdriver.firefox.profile=C:\Users\John Smart\AppData\Roaming\Mozilla\Firefox\Profiles\mvxjy48u.default
#firefox.preferences
#A semicolon separated list of Firefox configuration settings. For ex.,
#
#-Dfirefox.preferences="browser.download.folderList=2;browser.download.manager.showWhenStarting=false;browser.download.dir=c:\downloads"
#Integer and boolean values will be converted to the corresponding types in the Firefox preferences; all other values will be treated as Strings. You can set a boolean value to true by simply specifying the property name, e.g. -Dfirefox.preferences=app.update.silent.
#
#A complete reference to Firefox\u2019s configuration settings is given here.
#
#serenity.csv.extra.columns
#Add extra columns to the CSV output, obtained from tag values.
#
#serenity.console.headings
#Write the console headings using ascii-art ("ascii", default value) or in normal text ("normal")
#
#tags
#Comma separated list of tags. If provided, only JUnit classes and/or methods with tags in this list will be executed. For example,
#
#mvn verify -Dtags="iteration:I1"
#
#mvn verify -Dtags="color:red,flavor:strawberry"
#output.formats
#What format should test results be generated in. By default, this is "json,xml".
#
narrative.format='asciidoc'
#Set this property to 'asciidoc' to activate using Asciidoc format in narrative text.
#
#jira.url
#If the base JIRA URL is defined, Serenity will build the issue tracker url using the standard JIRA form.
#
#jira.project
#If defined, the JIRA project id will be prepended to issue numbers.
#
#jira.username
#If defined, the JIRA username required to connect to JIRA.
#
#jira.password
#If defined, the JIRA password required to connect to JIRA.
#
#show.pie.charts
#Display the pie charts on the dashboard by default. If this is set to false, the pie charts will be initially hidden on the dashboard.
#
#dashboard.tag.list
#If set, this will define the list of tag types to appear on the dashboard screens
#
#dashboard.excluded.tag.list::If set, this will define the list of tag types to be excluded from the dashboard screens
#
#json.pretty.printing
#Format the JSON test outcomes nicely. "true" or "false", turned off by default.
#
#simplified.stack.traces
#Stack traces are by default decluttered for readability. For example, calls to instrumented code or internal test libraries is removed. This behaviour can be deactivated by setting this property to false.
#
#serenity.dry.run
#Run through the steps without actually executing them.
#
#feature.file,language
#What (human) language are the Cucumber feature files written in? Defaults to "en".
#
#serenity.maintain.session
#Keep the Thucydides session data between tests. Normally, the session data is cleared between tests.
#
#serenity.console.colors
#Enabling or disabling in console output. All details you can find under Colors in console output
#
#Providing your own Firefox profile
#
#If you need to configure your own customized Firefox profile, you can do this by using the Thucydidies.useFirefoxProfile() method before you start your tests. For example:
#
#@Before
#public void setupProfile() {
# FirefoxProfile myProfile = new FirefoxProfile();
# myProfile.setPreference("network.proxy.socks_port",9999);
# myProfile.setAlwaysLoadNoFocusLib(true);
# myProfile.setEnableNativeEvents(true);
# Serenity.useFirefoxProfile(myProfile);
#}
#
#@Test
#public void aTestUsingMyCustomProfile() {...}
#Colors in console output
#
#There is feature for colorful console output during executing serenity tests. To enable it you should provide variable serenity.console.colors = true, by default it is turned off. This feature can cause errors if it is enabled for builds under Jenkins. Possible values are:
#
#true
#
#false (default value)
#
#If this property equal to false (or not provided at all) - output will be as configured in your system, for example:
#
#console colors off
#Figure 1. Console color output is disabled
#If this property equal to true you will find colorful output:
#
#console colors on
#Figure 2. Console color output is enabled