testcentricity_web 0.5.7.1 → 0.5.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +132 -15
- data/lib/testcentricity_web/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7faf72a16ef3d97239d41482e371fc058d9ef3a6
|
4
|
+
data.tar.gz: 4cd7057f471425de8b0133901edfd13c5938acce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8fe539726416a107f76946c4eb0a42000bda0de53628d7737a0cebdb1a96c403b4f07767478cb237bc8cfcf95ba9f65a6c8309c071ddc9621494b8e2b41dd1a
|
7
|
+
data.tar.gz: 86b41962f01be7144ebc390ff5f5eb23bdef1f176a19b6c9ca5f1807b760f93e8830b9e9e18568aa46f95544ca3ffd7bbc9f0074b0ee3aab80e5d2d0e5937290
|
data/README.md
CHANGED
@@ -64,7 +64,7 @@ text field attributes, button captions, etc.), maintenance is performed in the *
|
|
64
64
|
to update the affected feature file, scenarios, or step definitions.
|
65
65
|
|
66
66
|
|
67
|
-
####
|
67
|
+
#### Defining a Page Object
|
68
68
|
|
69
69
|
Your **Page Object** class definitions should be contained within individual *.rb* files in the ***features/support/pages*** folder of your
|
70
70
|
test automation project. You define new **Page Objects** as shown below:
|
@@ -83,7 +83,7 @@ test automation project. You define new **Page Objects** as shown below:
|
|
83
83
|
end
|
84
84
|
|
85
85
|
|
86
|
-
####
|
86
|
+
#### Adding UI Elements to your Page Object
|
87
87
|
|
88
88
|
**UI Elements** are added to your **Page Object** class definition as shown below:
|
89
89
|
|
@@ -108,7 +108,7 @@ below:
|
|
108
108
|
login_page.login_button.click
|
109
109
|
|
110
110
|
|
111
|
-
####
|
111
|
+
#### Adding Methods to your Page Object
|
112
112
|
|
113
113
|
It is good practice for your Cucumber step definitions to call high level methods in your your **Page Object** instead of directly accessing
|
114
114
|
and interacting with a page object's UI elements. You can add high level methods to your **Page Object** class definition for interacting with
|
@@ -154,7 +154,7 @@ or a menu. **UI Elements** and functional behavior are confined to the scope of
|
|
154
154
|
A **PageSection Object** may contain other **PageSection Objects**.
|
155
155
|
|
156
156
|
|
157
|
-
####
|
157
|
+
#### Defining a PageSection Object
|
158
158
|
|
159
159
|
Your **PageSection** class definitions should be contained within individual *.rb* files in the ***features/support/sections*** folder of
|
160
160
|
your test automation project. You define new **PageSection Objects** as shown below:
|
@@ -164,7 +164,7 @@ your test automation project. You define new **PageSection Objects** as shown be
|
|
164
164
|
end
|
165
165
|
|
166
166
|
|
167
|
-
####
|
167
|
+
#### Adding UI Elements to your PageSection Object
|
168
168
|
|
169
169
|
**UI Elements** are added to your **PageSection** class definition as shown below:
|
170
170
|
|
@@ -177,7 +177,7 @@ your test automation project. You define new **PageSection Objects** as shown be
|
|
177
177
|
end
|
178
178
|
|
179
179
|
|
180
|
-
####
|
180
|
+
#### Adding Methods to your PageSection Object
|
181
181
|
|
182
182
|
You can add high level methods to your **PageSection** class definition, as shown below:
|
183
183
|
|
@@ -195,7 +195,7 @@ You can add high level methods to your **PageSection** class definition, as show
|
|
195
195
|
end
|
196
196
|
|
197
197
|
|
198
|
-
####
|
198
|
+
#### Adding PageSection Objects to your Page Object
|
199
199
|
|
200
200
|
You add a **PageSection Object** to its associated **Page Object** as shown below:
|
201
201
|
|
@@ -244,7 +244,7 @@ The **WorldPages** module above can be defined in your *env.rb* file, or you can
|
|
244
244
|
While this approach is effective for small web applications with only a few pages (and hence few **Page Objects**), it quickly becomes
|
245
245
|
cumbersome to manage if your web application has dozens of **Page Objects** that need to be instantiated and managed.
|
246
246
|
|
247
|
-
####
|
247
|
+
#### Using the PageManager
|
248
248
|
|
249
249
|
The **PageManager** class provides methods for supporting the instantiation and management of **Page Objects**. In the code example below,
|
250
250
|
the **page_objects** method contains a hash table of your **Page Object** instance variables and their associated **Page Object** classes
|
@@ -289,7 +289,7 @@ Variables**are used to specify the target local or remote web browser, and the v
|
|
289
289
|
the connection.
|
290
290
|
|
291
291
|
|
292
|
-
####
|
292
|
+
#### Locally hosted desktop web browser
|
293
293
|
|
294
294
|
For locally hosted desktop web browsers, the **WEB_BROWSER** Environment Variable must be set to one of the values from the table below:
|
295
295
|
|
@@ -299,11 +299,11 @@ firefox | OS X or Windows
|
|
299
299
|
chrome | OS X or Windows
|
300
300
|
safari | OS X only
|
301
301
|
ie | Windows only
|
302
|
-
edge | Windows only
|
302
|
+
edge | Windows 10 only
|
303
303
|
poltergeist | OS X or Windows
|
304
304
|
|
305
305
|
|
306
|
-
####
|
306
|
+
#### Locally hosted emulated mobile web browser
|
307
307
|
|
308
308
|
You can also run your tests against emulated mobile device browsers within a locally hosted instance of the Firefox desktop browser. You may
|
309
309
|
even specify the emulated device's screen orientation. For locally hosted emulated mobile web browsers, the **WEB_BROWSER** Environment Variable
|
@@ -321,15 +321,118 @@ iphone6_plus |
|
|
321
321
|
android_phone |
|
322
322
|
android_tablet |
|
323
323
|
|
324
|
-
To specify the emulated device's screen orientation, you set the **ORIENTATION** Environment Variable to either
|
324
|
+
To specify the emulated device's screen orientation, you set the **ORIENTATION** Environment Variable to either ***portrait*** or ***landscape***.
|
325
325
|
|
326
326
|
|
327
|
-
####
|
327
|
+
#### Remotely hosted desktop and mobile web browsers
|
328
328
|
|
329
|
-
|
329
|
+
You can run your automated tests against remotely hosted desktop and mobile web browsers using the BrowserStack, CrossBrowserTesting, or
|
330
|
+
Sauce Labs services.
|
330
331
|
|
331
332
|
|
332
|
-
|
333
|
+
##### Remote desktop browsers on the BrowserStack service
|
334
|
+
|
335
|
+
For remotely hosted desktop web browsers on the BrowserStack service, the following **Environment Variables** must be set as described in
|
336
|
+
the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities#capabilities-browserstack) for information regarding the specific capabilities.
|
337
|
+
|
338
|
+
**Environment Variable** | Description
|
339
|
+
--------------- | ----------------
|
340
|
+
WEB_BROWSER | Must be set to ***browserstack***
|
341
|
+
BS_USERNAME | Must be set to your BrowserStack account user name
|
342
|
+
BS_AUTHKEY | Must be set to your BrowserStack account access key
|
343
|
+
BS_OS | Must be set to ***OS X*** or ***Windows***
|
344
|
+
BS_OS_VERSION | Refer to ***os_version*** capability in chart
|
345
|
+
BS_BROWSER | Refer to ***browser*** capability in chart
|
346
|
+
BS_VERSION | Refer to ***browser_version*** capability in chart
|
347
|
+
BS_LOCAL | Must be ***true*** if you are testing against internal/local servers
|
348
|
+
RESOLUTION | Refer to supported screen ***resolution*** capability in chart
|
349
|
+
|
350
|
+
|
351
|
+
##### Remote mobile browsers on the BrowserStack service
|
352
|
+
|
353
|
+
For remotely hosted mobile web browsers on the BrowserStack service, the following **Environment Variables** must be set as described in
|
354
|
+
the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities#capabilities-browserstack) for information regarding the specific capabilities.
|
355
|
+
|
356
|
+
**Environment Variable** | Description
|
357
|
+
--------------- | ----------------
|
358
|
+
WEB_BROWSER | Must be set to ***browserstack***
|
359
|
+
BS_USERNAME | Must be set to your BrowserStack account user name
|
360
|
+
BS_AUTHKEY | Must be set to your BrowserStack account access key
|
361
|
+
BS_BROWSER | Must be set to ***iPhone***, ***iPad***, or ***android***
|
362
|
+
BS_PLATFORM | Must be set to ***MAC*** (for iOS) or ***ANDROID***
|
363
|
+
BS_DEVICE | Refer to ***device*** capability in chart
|
364
|
+
BS_LOCAL | Must be ***true*** if you are testing against internal/local servers
|
365
|
+
ORIENTATION | set to ***portrait*** or ***landscape***
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
##### Remote desktop browsers on the CrossBrowserTesting service
|
370
|
+
|
371
|
+
For remotely hosted desktop web browsers on the CrossBrowserTesting service, the following **Environment Variables** must be set as described in
|
372
|
+
the table below. Use the Configuration Wizard on the [Start a Selenium Test page](https://app.crossbrowsertesting.com/selenium/run) to obtain information regarding the specific capabilities.
|
373
|
+
|
374
|
+
**Environment Variable** | Description
|
375
|
+
--------------- | ----------------
|
376
|
+
WEB_BROWSER | Must be set to ***crossbrowser***
|
377
|
+
CB_USERNAME | Must be set to your CrossBrowserTesting account user name or email address
|
378
|
+
CB_AUTHKEY | Must be set to your CrossBrowserTesting account access key
|
379
|
+
CB_OS | Refer to ***os_api_name*** capability in the sample script of the Wizard
|
380
|
+
CB_BROWSER | Refer to ***browser_api_name*** capability in the sample script of the Wizard
|
381
|
+
RESOLUTION | Refer to supported ***screen_resolution*** capability in the sample script of the Wizard
|
382
|
+
|
383
|
+
|
384
|
+
##### Remote mobile browsers on the CrossBrowserTesting service
|
385
|
+
|
386
|
+
For remotely hosted mobile web browsers on the CrossBrowserTesting service, the following **Environment Variables** must be set as described in
|
387
|
+
the table below. Use the Configuration Wizard on the [Start a Selenium Test page](https://app.crossbrowsertesting.com/selenium/run) to obtain information regarding the specific capabilities.
|
388
|
+
|
389
|
+
**Environment Variable** | Description
|
390
|
+
--------------- | ----------------
|
391
|
+
WEB_BROWSER | Must be set to ***crossbrowser***
|
392
|
+
CB_USERNAME | Must be set to your CrossBrowserTesting account user name or email address
|
393
|
+
CB_AUTHKEY | Must be set to your CrossBrowserTesting account access key
|
394
|
+
CB_PLATFORM | Refer to ***os_api_name*** capability in the sample script of the Wizard
|
395
|
+
CB_BROWSER | Refer to ***browser_api_name*** capability in the sample script of the Wizard
|
396
|
+
RESOLUTION | Refer to supported ***screen_resolution*** capability in the sample script of the Wizard
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
##### Remote desktop browsers on the Sauce Labs service
|
401
|
+
|
402
|
+
For remotely hosted desktop web browsers on the Sauce Labs service, the following **Environment Variables** must be set as described in
|
403
|
+
the table below. Use the Selenium API on the [Platform Configurator page](https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/) to obtain information regarding the specific capabilities.
|
404
|
+
|
405
|
+
**Environment Variable** | Description
|
406
|
+
--------------- | ----------------
|
407
|
+
WEB_BROWSER | Must be set to ***saucelabs***
|
408
|
+
SL_USERNAME | Must be set to your Sauce Labs account user name or email address
|
409
|
+
SL_AUTHKEY | Must be set to your Sauce Labs account access key
|
410
|
+
SL_OS | Refer to ***platform*** capability in the Copy Code section of the Platform Configurator page
|
411
|
+
SL_BROWSER | Must be set to ***chrome***, ***firefox***, ***safari***, ***internet explorer***, or ***edge***
|
412
|
+
SL_VERSION | Refer to ***version*** capability in the Copy Code section of the Platform Configurator page
|
413
|
+
RESOLUTION | Refer to supported ***screenResolution*** capability in the Copy Code section of the Platform Configurator page
|
414
|
+
|
415
|
+
|
416
|
+
##### Remote mobile browsers on the Sauce Labs service
|
417
|
+
|
418
|
+
For remotely hosted mobile web browsers on the Sauce Labs service, the following **Environment Variables** must be set as described in
|
419
|
+
the table below. Use the Selenium API on the [Platform Configurator page](https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/) to obtain information regarding the specific capabilities.
|
420
|
+
|
421
|
+
**Environment Variable** | Description
|
422
|
+
--------------- | ----------------
|
423
|
+
WEB_BROWSER | Must be set to ***saucelabs***
|
424
|
+
SL_USERNAME | Must be set to your Sauce Labs account user name or email address
|
425
|
+
SL_AUTHKEY | Must be set to your Sauce Labs account access key
|
426
|
+
SL_PLATFORM | Refer to ***platform*** capability in the Copy Code section of the Platform Configurator page
|
427
|
+
SL_BROWSER | Must be set to ***iPhone*** or ***android***
|
428
|
+
SL_VERSION | Refer to ***version*** capability in the Copy Code section of the Platform Configurator page
|
429
|
+
SL_DEVICE | Refer to ***deviceName*** capability in the Copy Code section of the Platform Configurator page
|
430
|
+
SL_DEVICE_TYPE | If displayed, refer to ***deviceType*** capability in the Copy Code section of the Platform Configurator page
|
431
|
+
ORIENTATION | Refer to ***deviceOrientation*** capability in the Copy Code section of the Platform Configurator page
|
432
|
+
|
433
|
+
|
434
|
+
|
435
|
+
#### Using Browser specific Profiles in cucumber.yml
|
333
436
|
|
334
437
|
While you can set **Environment Variables** in the command line when invoking Cucumber, a preferred method of specifying and managing target
|
335
438
|
web browsers is to create browser specific **Profiles** that set the appropriate **Environment Variables** for each target browser in your
|
@@ -557,8 +660,22 @@ web browsers is to create browser specific **Profiles** that set the appropriate
|
|
557
660
|
sl_android: --profile sl_mobile SL_PLATFORM=Linux SL_BROWSER="android" SL_VERSION="4.4"
|
558
661
|
sl_android_phone: --profile sl_android SL_DEVICE="Android Emulator" SL_DEVICE_TYPE="phone"
|
559
662
|
sl_android_tablet: --profile sl_android SL_DEVICE="Android Emulator" SL_DEVICE_TYPE="tablet"
|
663
|
+
|
664
|
+
To specify a locally hosted target browser using a profile at runtime, you use the flag --profile or -p followed by the profile name when
|
665
|
+
invoking Cucumber in the command line. For instance, the following command invokes Cucumber and specifies that a local instance of Chrome
|
666
|
+
will be used as the target web browser:
|
667
|
+
|
668
|
+
cucumber -p chrome
|
560
669
|
|
670
|
+
The following command specifies that Cucumber will run tests against a local instance of Firefox, which will be used to emulate an iPad Pro
|
671
|
+
in landscape orientation:
|
672
|
+
|
673
|
+
cucumber -p ipad_pro -p landscape
|
674
|
+
|
675
|
+
The following command specifies that Cucumber will run tests against a remotely hosted Safari web browser running on an OS X Yosemite
|
676
|
+
virtual machine on the BrowserStack service:
|
561
677
|
|
678
|
+
cucumber -p bs_safari_yos
|
562
679
|
|
563
680
|
|
564
681
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testcentricity_web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.7.
|
4
|
+
version: 0.5.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- A.J. Mrozinski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|