testcentricity_web 0.5.7.1 → 0.5.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|