testcentricity_web 0.5.7 → 0.5.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +2 -0
- data/Gemfile +2 -0
- data/README.md +304 -30
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/webdriver_helper.rb +3 -3
- data/testcentricity_web.gemspec +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9569e27215cf9488a0b1ac757fc3849b50e860f8
|
4
|
+
data.tar.gz: 69d04c8ff6316100bd97a6fcd3c631a007232555
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b58009042ebe9fce1f9376ca46730a5b27574ca0d41ff5050d24a638c3576cd76c47a31518cc12dba11decdd2e98a1817c0b6e48090c47d2ac832077a7fda25
|
7
|
+
data.tar.gz: 5dce0ce7e4600fc7dbc044ef9a267c1e2b790f5e0747aaace568658d4730e77d08d139abc6be1687c0ae05a91b02911af65281abc62ee3cd0d31ad24e583b4db
|
data/.yardopts
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -4,8 +4,8 @@ The TestCentricity™ core generic framework for desktop and mobile web site tes
|
|
4
4
|
use with Cucumber, Capybara, and selenium-webdriver. It supports testing against locally hosted desktop browsers (Firefox, Chrome, Safari,
|
5
5
|
IE, or Edge), locally hosted emulated iOS and Android mobile browsers (using Firefox), a "headless" browser (using Poltergeist and PhantomJS),
|
6
6
|
or on cloud hosted desktop or mobile web browsers using the BrowserStack, Sauce Labs, or CrossBrowserTesting services.
|
7
|
-
|
8
|
-
|
7
|
+
|
8
|
+
|
9
9
|
## Installation
|
10
10
|
|
11
11
|
Add this line to your automation project's Gemfile:
|
@@ -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
|
-
####Defining a Page Object
|
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
|
-
####Adding UI Elements to your Page Object
|
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
|
-
####Adding Methods to your Page Object
|
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
|
-
####Defining a PageSection Object
|
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
|
-
####Adding UI Elements to your PageSection Object
|
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
|
-
####Adding Methods to your PageSection Object
|
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
|
-
####Adding PageSection Objects to your Page Object
|
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
|
-
####Using the PageManager
|
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
|
@@ -279,6 +279,287 @@ executed:
|
|
279
279
|
|
280
280
|
|
281
281
|
|
282
|
+
### Connecting to a Web Browser
|
283
|
+
|
284
|
+
The ***WebDriverConnect.initialize_web_driver*** method configures the appropriate selenium-webdriver capabilities required to establish a
|
285
|
+
connection with a target web browser, and sets the base host URL of the web site you are running your tests against
|
286
|
+
|
287
|
+
The ***WebDriverConnect.initialize_web_driver*** method accepts a single optional parameter - the base host URL. Cucumber **Environment
|
288
|
+
Variables**are used to specify the target local or remote web browser, and the various webdriver capability parameters required to configure
|
289
|
+
the connection.
|
290
|
+
|
291
|
+
|
292
|
+
#### - Locally hosted desktop web browser
|
293
|
+
|
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
|
+
|
296
|
+
**WEB_BROWSER** | Desktop Platform
|
297
|
+
--------------- | ----------------
|
298
|
+
firefox | OS X or Windows
|
299
|
+
chrome | OS X or Windows
|
300
|
+
safari | OS X only
|
301
|
+
ie | Windows only
|
302
|
+
edge | Windows only
|
303
|
+
poltergeist | OS X or Windows
|
304
|
+
|
305
|
+
|
306
|
+
#### - Locally hosted emulated mobile web browser
|
307
|
+
|
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
|
+
even specify the emulated device's screen orientation. For locally hosted emulated mobile web browsers, the **WEB_BROWSER** Environment Variable
|
310
|
+
must be set to one of the values from the table below:
|
311
|
+
|
312
|
+
**WEB_BROWSER** |
|
313
|
+
--------------- |
|
314
|
+
ipad |
|
315
|
+
ipad_pro |
|
316
|
+
iphone |
|
317
|
+
iphone4 |
|
318
|
+
iphone5 |
|
319
|
+
iphone6 |
|
320
|
+
iphone6_plus |
|
321
|
+
android_phone |
|
322
|
+
android_tablet |
|
323
|
+
|
324
|
+
To specify the emulated device's screen orientation, you set the **ORIENTATION** Environment Variable to either *portrait* or *landscape*.
|
325
|
+
|
326
|
+
|
327
|
+
#### - Remotely hosted desktop web browser
|
328
|
+
|
329
|
+
TBD
|
330
|
+
|
331
|
+
|
332
|
+
#### - Using Browser specific Profiles in cucumber.yml
|
333
|
+
|
334
|
+
While you can set **Environment Variables** in the command line when invoking Cucumber, a preferred method of specifying and managing target
|
335
|
+
web browsers is to create browser specific **Profiles** that set the appropriate **Environment Variables** for each target browser in your
|
336
|
+
***cucumber.yml*** file. Below is a list of Cucumber **Profiles** for supported locally and remotely hosted desktop and mobile web browsers
|
337
|
+
(put these in in your ***cucumber.yml*** file):
|
338
|
+
|
339
|
+
<% desktop = "--tags ~@wip --tags ~@failing --tags @desktop --require features" %>
|
340
|
+
<% mobile = "--tags ~@wip --tags ~@failing --tags @mobile --require features" %>
|
341
|
+
|
342
|
+
#==============
|
343
|
+
# profiles for locally hosted desktop web browsers
|
344
|
+
#==============
|
345
|
+
|
346
|
+
firefox: WEB_BROWSER=firefox <%= desktop %>
|
347
|
+
safari: WEB_BROWSER=safari <%= desktop %>
|
348
|
+
chrome: WEB_BROWSER=chrome <%= desktop %>
|
349
|
+
ie: WEB_BROWSER=ie <%= desktop %>
|
350
|
+
edge: WEB_BROWSER=edge <%= desktop %>
|
351
|
+
headless: WEB_BROWSER=poltergeist <%= desktop %>
|
352
|
+
|
353
|
+
#==============
|
354
|
+
# profiles for locally hosted mobile web browsers (emulated locally in Firefox browser)
|
355
|
+
#==============
|
356
|
+
|
357
|
+
ipad: WEB_BROWSER=ipad <%= mobile %>
|
358
|
+
ipad_pro: WEB_BROWSER=ipad_pro <%= mobile %>
|
359
|
+
iphone: WEB_BROWSER=iphone <%= mobile %>
|
360
|
+
iphone4: WEB_BROWSER=iphone4 <%= mobile %>
|
361
|
+
iphone5: WEB_BROWSER=iphone5 <%= mobile %>
|
362
|
+
iphone6: WEB_BROWSER=iphone6 <%= mobile %>
|
363
|
+
iphone6_plus: WEB_BROWSER=iphone6_plus <%= mobile %>
|
364
|
+
android_phone: WEB_BROWSER=android_phone <%= mobile %>
|
365
|
+
android_tablet: WEB_BROWSER=android_tablet <%= mobile %>
|
366
|
+
|
367
|
+
|
368
|
+
#==============
|
369
|
+
# profiles for mobile device screen orientation
|
370
|
+
#==============
|
371
|
+
portrait: ORIENTATION=portrait
|
372
|
+
landscape: ORIENTATION=landscape
|
373
|
+
|
374
|
+
|
375
|
+
#==============
|
376
|
+
# profiles for remotely hosted web browsers on the BrowserStack service
|
377
|
+
#==============
|
378
|
+
|
379
|
+
browserstack: WEB_BROWSER=browserstack BS_USERNAME=<INSERT USER NAME HERE> BS_AUTHKEY=<INSERT PASSWORD HERE>
|
380
|
+
bs_desktop: --profile browserstack <%= desktop %> RESOLUTION="1920x1080"
|
381
|
+
bs_mobile: --profile browserstack <%= mobile %>
|
382
|
+
|
383
|
+
# BrowserStack OS X profiles
|
384
|
+
bs_osx_el_capitan: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="El Capitan"
|
385
|
+
bs_ff_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Firefox"
|
386
|
+
bs_chrome_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Chrome"
|
387
|
+
bs_safari_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Safari" BS_VERSION="9.0"
|
388
|
+
bs_safari9_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Safari" BS_VERSION="9.0"
|
389
|
+
|
390
|
+
bs_osx_yosemite: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Yosemite"
|
391
|
+
bs_ff_yos: --profile bs_osx_yosemite BS_BROWSER="Firefox"
|
392
|
+
bs_chrome_yos: --profile bs_osx_yosemite BS_BROWSER="Chrome"
|
393
|
+
bs_safari_yos: --profile bs_osx_yosemite BS_BROWSER="Safari" BS_VERSION="8.0"
|
394
|
+
bs_safari8_osx: --profile bs_osx_yosemite BS_BROWSER="Safari" BS_VERSION="8.0"
|
395
|
+
|
396
|
+
bs_osx_mavericks: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Mavericks"
|
397
|
+
bs_ff_mav: --profile bs_osx_mavericks BS_BROWSER="Firefox"
|
398
|
+
bs_chrome_mav: --profile bs_osx_mavericks BS_BROWSER="Chrome"
|
399
|
+
bs_safari_mav: --profile bs_osx_mavericks BS_BROWSER="Safari" BS_VERSION="7.0"
|
400
|
+
bs_safari7_osx: --profile bs_osx_mavericks BS_BROWSER="Safari" BS_VERSION="7.0"
|
401
|
+
|
402
|
+
# BrowserStack Windows profiles
|
403
|
+
bs_win7: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="7"
|
404
|
+
bs_win8: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="8.1"
|
405
|
+
bs_win10: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="10"
|
406
|
+
bs_ff_win7: --profile bs_win7 BS_BROWSER="Firefox"
|
407
|
+
bs_ff_win8: --profile bs_win8 BS_BROWSER="Firefox"
|
408
|
+
bs_ff_win10: --profile bs_win10 BS_BROWSER="Firefox"
|
409
|
+
bs_chrome_win7: --profile bs_win7 BS_BROWSER="Chrome"
|
410
|
+
bs_chrome_win8: --profile bs_win8 BS_BROWSER="Chrome"
|
411
|
+
bs_chrome_win10: --profile bs_win10 BS_BROWSER="Chrome"
|
412
|
+
|
413
|
+
bs_ie_win7: --profile bs_win7 BS_BROWSER="IE"
|
414
|
+
bs_ie11_win7: --profile bs_ie_win7 BS_VERSION="11.0"
|
415
|
+
bs_ie10_win7: --profile bs_ie_win7 BS_VERSION="10.0"
|
416
|
+
bs_ie9_win7: --profile bs_ie_win7 BS_VERSION="9.0"
|
417
|
+
bs_ie11_win8: --profile bs_win8 BS_BROWSER="IE" BS_VERSION="11.0"
|
418
|
+
bs_ie10_win8: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="8.0" BS_BROWSER="IE" BS_VERSION="10.0"
|
419
|
+
bs_ie11_win10: --profile bs_win10 BS_BROWSER="IE" BS_VERSION="11.0"
|
420
|
+
bs_edge_win10: --profile bs_win10 BS_BROWSER="Edge" BS_VERSION="13.0"
|
421
|
+
|
422
|
+
# BrowserStack iOS profiles
|
423
|
+
bs_iphone: --profile bs_mobile BS_PLATFORM=MAC BS_BROWSER=iPhone
|
424
|
+
bs_ipad: --profile bs_mobile BS_PLATFORM=MAC BS_BROWSER=iPad
|
425
|
+
bs_iphone6_plus: --profile bs_iphone BS_DEVICE="iPhone 6S Plus"
|
426
|
+
bs_iphone6: --profile bs_iphone BS_DEVICE="iPhone 6S"
|
427
|
+
bs_iphone5s: --profile bs_iphone BS_DEVICE="iPhone 5S"
|
428
|
+
bs_iphone4s: --profile bs_iphone BS_DEVICE="iPhone 4S (6.0)"
|
429
|
+
bs_ipad_pro: --profile bs_ipad BS_DEVICE="iPad Pro"
|
430
|
+
bs_ipad_air: --profile bs_ipad BS_DEVICE="iPad Air 2"
|
431
|
+
bs_ipad_mini: --profile bs_ipad BS_DEVICE="iPad Mini 4"
|
432
|
+
|
433
|
+
# BrowserStack Android profiles
|
434
|
+
bs_android: --profile bs_mobile BS_PLATFORM=ANDROID BS_BROWSER=android
|
435
|
+
bs_galaxy_s5: --profile bs_android BS_DEVICE="Samsung Galaxy S5"
|
436
|
+
bs_kindle_fire: --profile bs_android BS_DEVICE="Amazon Kindle Fire HDX 7"
|
437
|
+
bs_nexus5: --profile bs_android BS_DEVICE="Google Nexus 5"
|
438
|
+
bs_moto_razr: --profile bs_android BS_DEVICE="Motorola Razr"
|
439
|
+
bs_sony_xperia: --profile bs_android BS_DEVICE="Sony Xperia Tipo"
|
440
|
+
|
441
|
+
|
442
|
+
#==============
|
443
|
+
# profiles for remotely hosted web browsers on the CrossBrowserTesting service
|
444
|
+
#==============
|
445
|
+
|
446
|
+
crossbrowser: WEB_BROWSER=crossbrowser CB_USERNAME=<INSERT USER NAME HERE> CB_AUTHKEY=<INSERT PASSWORD HERE>
|
447
|
+
cb_desktop: --profile crossbrowser <%= desktop %>
|
448
|
+
cb_mobile: --profile crossbrowser <%= mobile %>
|
449
|
+
|
450
|
+
# CrossBrowserTesting OS X profiles
|
451
|
+
cb_osx: --profile cb_desktop RESOLUTION="1920x1200"
|
452
|
+
cb_osx_el_capitan: --profile cb_osx CB_OS="Mac10.11"
|
453
|
+
cb_ff_el_cap: --profile cb_osx_el_capitan CB_BROWSER="FF44"
|
454
|
+
cb_chrome_el_cap: --profile cb_osx_el_capitan CB_BROWSER="Chrome48x64"
|
455
|
+
cb_safari_el_cap: --profile cb_osx_el_capitan CB_BROWSER="Safari9"
|
456
|
+
cb_safari9_el_cap: --profile cb_osx_el_capitan CB_BROWSER="Safari9"
|
457
|
+
|
458
|
+
cb_osx_yosemite: --profile cb_osx CB_OS="Mac10.10"
|
459
|
+
cb_ff_yos: --profile cb_osx_yosemite CB_BROWSER="FF44"
|
460
|
+
cb_chrome_yos: --profile cb_osx_yosemite CB_BROWSER="Chrome48x64"
|
461
|
+
cb_safari_yos: --profile cb_osx_yosemite CB_BROWSER="Safari8"
|
462
|
+
cb_safari8_osx: --profile cb_osx_yosemite CB_BROWSER="Safari8"
|
463
|
+
|
464
|
+
cb_osx_mavericks: --profile cb_osx CB_OS="Mac10.9"
|
465
|
+
cb_ff_mav: --profile cb_osx_mavericks CB_BROWSER="FF43"
|
466
|
+
cb_chrome_mav: --profile cb_osx_mavericks CB_BROWSER="Chrome48x64"
|
467
|
+
cb_safari_mav: --profile cb_osx_mavericks CB_BROWSER="Safari7"
|
468
|
+
cb_safari7_osx: --profile cb_osx_mavericks CB_BROWSER="Safari7"
|
469
|
+
|
470
|
+
# CrossBrowserTesting Windows profiles
|
471
|
+
cb_win: --profile cb_desktop RESOLUTION="1920x1080"
|
472
|
+
cb_win7: --profile cb_win CB_OS="Win7x64-C1"
|
473
|
+
cb_win8: --profile cb_win CB_OS="Win8"
|
474
|
+
cb_win10: --profile cb_win CB_OS="Win10"
|
475
|
+
cb_ff_win7: --profile cb_win7 CB_BROWSER="FF44"
|
476
|
+
cb_ff_win8: --profile cb_win8 CB_BROWSER="FF44"
|
477
|
+
cb_ff_win10: --profile cb_win10 CB_BROWSER="FF44"
|
478
|
+
cb_chrome_win7: --profile cb_win7 CB_BROWSER="Chrome48x64"
|
479
|
+
cb_chrome_win8: --profile cb_win8 CB_BROWSER="Chrome48x64"
|
480
|
+
cb_chrome_win10: --profile cb_win10 CB_BROWSER="Chrome48x64"
|
481
|
+
|
482
|
+
cb_ie11_win7: --profile cb_win7 CB_BROWSER="IE11"
|
483
|
+
cb_ie10_win7: --profile cb_win7 CB_BROWSER="IE10"
|
484
|
+
cb_ie9_win7: --profile cb_win7 CB_BROWSER="IE9"
|
485
|
+
cb_ie11_win8: --profile cb_win8 CB_BROWSER="IE11"
|
486
|
+
cb_ie10_win8: --profile cb_win8 CB_BROWSER="IE10"
|
487
|
+
cb_ie11_win10: --profile cb_win10 CB_BROWSER="IE11"
|
488
|
+
|
489
|
+
# CrossBrowserTesting iOS profiles
|
490
|
+
cb_iphone6_plus: --profile cb_mobile CB_PLATFORM="iPhone6Plus-iOS8sim" CB_BROWSER="MblSafari8.0" RESOLUTION="1080x1920"
|
491
|
+
cb_iphone6: --profile cb_mobile CB_PLATFORM="iPhone6-iOS8sim" CB_BROWSER="MblSafari8.0" RESOLUTION="750x1334"
|
492
|
+
cb_iphone5s: --profile cb_mobile CB_PLATFORM="iPhone5s-iOS7sim" CB_BROWSER="MblSafari7.0" RESOLUTION="640x1136"
|
493
|
+
cb_ipad_air: --profile cb_mobile CB_PLATFORM="iPadAir-iOS8Sim" CB_BROWSER="MblSafari8.0" RESOLUTION="1024x768"
|
494
|
+
cb_ipad_mini: --profile cb_mobile CB_PLATFORM="iPadMiniRetina-iOS7Sim" CB_BROWSER="MblSafari7.0" RESOLUTION="1024x768"
|
495
|
+
|
496
|
+
# CrossBrowserTesting Android profiles
|
497
|
+
cb_nexus7: --profile cb_mobile CB_PLATFORM="Nexus7-And42" CB_BROWSER="MblChrome37" RESOLUTION="800x1280"
|
498
|
+
cb_galaxy_tab2: --profile cb_mobile CB_PLATFORM="GalaxyTab2-And41" CB_BROWSER="MblChrome38" RESOLUTION="1280x800"
|
499
|
+
cb_galaxy_s5: --profile cb_mobile CB_PLATFORM="GalaxyS5-And44" CB_BROWSER="MblChrome35" RESOLUTION="1080x1920"
|
500
|
+
cb_galaxy_s4: --profile cb_mobile CB_PLATFORM="GalaxyS4-And42" CB_BROWSER="MblChrome33" RESOLUTION="1080x1920"
|
501
|
+
cb_galaxy_s3: --profile cb_mobile CB_PLATFORM="GalaxyS3-And41" CB_BROWSER="MblChrome34" RESOLUTION="720x1280"
|
502
|
+
|
503
|
+
|
504
|
+
#==============
|
505
|
+
# profiles for remotely hosted web browsers on the SauceLabs service
|
506
|
+
#==============
|
507
|
+
|
508
|
+
saucelabs: WEB_BROWSER=saucelabs SL_USERNAME=<INSERT USER NAME HERE> SL_AUTHKEY=<INSERT PASSWORD HERE>
|
509
|
+
sl_desktop: --profile saucelabs <%= desktop %>
|
510
|
+
sl_mobile: --profile saucelabs <%= mobile %>
|
511
|
+
|
512
|
+
# SauceLabs OS X profiles
|
513
|
+
sl_osx_el_capitan: --profile sl_desktop SL_OS="OS X 10.11"
|
514
|
+
sl_ff_el_cap: --profile sl_osx_el_capitan SL_BROWSER="firefox"
|
515
|
+
sl_chrome_el_cap: --profile sl_osx_el_capitan SL_BROWSER="chrome"
|
516
|
+
sl_safari_el_cap: --profile sl_osx_el_capitan SL_BROWSER="safari"
|
517
|
+
sl_safari9_el_cap: --profile sl_osx_el_capitan SL_BROWSER="safari"
|
518
|
+
|
519
|
+
sl_osx_yosemite: --profile sl_desktop SL_OS="OS X 10.10" RESOLUTION="1920x1200"
|
520
|
+
sl_ff_yos: --profile sl_osx_yosemite SL_BROWSER="firefox"
|
521
|
+
sl_chrome_yos: --profile sl_osx_yosemite SL_BROWSER="chrome"
|
522
|
+
sl_safari_yos: --profile sl_osx_yosemite SL_BROWSER="safari"
|
523
|
+
sl_safari8_osx: --profile sl_osx_yosemite SL_BROWSER="safari"
|
524
|
+
|
525
|
+
sl_osx_mavericks: --profile sl_desktop SL_OS="OS X 10.9" RESOLUTION="1920x1200"
|
526
|
+
sl_ff_mav: --profile sl_osx_mavericks SL_BROWSER="firefox"
|
527
|
+
sl_chrome_mav: --profile sl_osx_mavericks SL_BROWSER="chrome"
|
528
|
+
sl_safari_mav: --profile sl_osx_mavericks SL_BROWSER="safari"
|
529
|
+
sl_safari7_osx: --profile sl_osx_mavericks SL_BROWSER="safari"
|
530
|
+
|
531
|
+
# SauceLabs Windows profiles
|
532
|
+
sl_win7: --profile sl_desktop SL_OS="Windows 7" RESOLUTION="1920x1200"
|
533
|
+
sl_win8: --profile sl_desktop SL_OS="Windows 8.1" RESOLUTION="1280x1024"
|
534
|
+
sl_win10: --profile sl_desktop SL_OS="Windows 10" RESOLUTION="1280x1024"
|
535
|
+
sl_ff_win7: --profile sl_win7 SL_BROWSER="firefox"
|
536
|
+
sl_ff_win8: --profile sl_win8 SL_BROWSER="firefox"
|
537
|
+
sl_ff_win10: --profile sl_win10 SL_BROWSER="firefox"
|
538
|
+
sl_chrome_win7: --profile sl_win7 SL_BROWSER="chrome"
|
539
|
+
sl_chrome_win8: --profile sl_win8 SL_BROWSER="chrome"
|
540
|
+
sl_chrome_win10: --profile sl_win10 SL_BROWSER="chrome"
|
541
|
+
|
542
|
+
sl_ie11_win7: --profile sl_win7 SL_BROWSER="internet explorer" SL_VERSION="11.0"
|
543
|
+
sl_ie10_win7: --profile sl_win7 SL_BROWSER="internet explorer" SL_VERSION="10.0"
|
544
|
+
sl_ie9_win7: --profile sl_win7 SL_BROWSER="internet explorer" SL_VERSION="9.0"
|
545
|
+
sl_ie11_win8: --profile sl_win8 SL_BROWSER="internet explorer" SL_VERSION="11.0"
|
546
|
+
sl_ie11_win10: --profile sl_win10 SL_BROWSER="internet explorer"
|
547
|
+
|
548
|
+
# SauceLabs iOS profiles
|
549
|
+
sl_ios: --profile sl_mobile SL_PLATFORM=OS X 10.10 SL_BROWSER="iphone" SL_VERSION="9.2"
|
550
|
+
sl_iphone6_plus: --profile sl_ios SL_DEVICE="iPhone 6 Plus"
|
551
|
+
sl_iphone6: --profile sl_ios SL_DEVICE="iPhone 6"
|
552
|
+
sl_iphone5s: --profile sl_ios SL_DEVICE="iPhone 5s"
|
553
|
+
sl_iphone4s: --profile sl_ios SL_DEVICE="iPhone 4s"
|
554
|
+
sl_ipad_air: --profile sl_ios SL_DEVICE="iPad Air"
|
555
|
+
|
556
|
+
# SauceLabs Android profiles
|
557
|
+
sl_android: --profile sl_mobile SL_PLATFORM=Linux SL_BROWSER="android" SL_VERSION="4.4"
|
558
|
+
sl_android_phone: --profile sl_android SL_DEVICE="Android Emulator" SL_DEVICE_TYPE="phone"
|
559
|
+
sl_android_tablet: --profile sl_android SL_DEVICE="Android Emulator" SL_DEVICE_TYPE="tablet"
|
560
|
+
|
561
|
+
|
562
|
+
|
282
563
|
|
283
564
|
|
284
565
|
## Copyright and License
|
@@ -287,27 +568,20 @@ TestCentricity™ Framework is Copyright (c) 2014-2016, Tony Mrozinski.
|
|
287
568
|
All rights reserved.
|
288
569
|
|
289
570
|
|
290
|
-
Redistribution and use in source and binary forms, with or without
|
291
|
-
|
571
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions
|
572
|
+
are met:
|
292
573
|
|
293
|
-
1. Redistributions of source code must retain the above copyright notice,
|
294
|
-
this list of conditions, and the following disclaimer.
|
574
|
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
|
295
575
|
|
296
|
-
2. Redistributions in binary form must reproduce the above copyright
|
297
|
-
|
298
|
-
documentation and/or other materials provided with the distribution.
|
576
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in
|
577
|
+
the documentation and/or other materials provided with the distribution.
|
299
578
|
|
300
|
-
3. Neither the name of the copyright holder nor the names of its contributors
|
301
|
-
|
302
|
-
specific prior written permission.
|
579
|
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from
|
580
|
+
this software without specific prior written permission.
|
303
581
|
|
304
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
311
|
-
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
312
|
-
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
313
|
-
POSSIBILITY OF SUCH DAMAGE.
|
582
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
583
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
584
|
+
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
585
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
586
|
+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
587
|
+
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module TestCentricity
|
2
|
-
|
2
|
+
module WebDriverConnect
|
3
3
|
include Capybara::DSL
|
4
4
|
|
5
|
-
def self.initialize_web_driver(app_host)
|
5
|
+
def self.initialize_web_driver(app_host = nil)
|
6
6
|
browser = ENV['WEB_BROWSER']
|
7
7
|
|
8
8
|
# assume that we're testing within a local desktop web browser
|
@@ -24,7 +24,7 @@ module TestCentricity
|
|
24
24
|
initialize_local_browser(browser)
|
25
25
|
end
|
26
26
|
|
27
|
-
Capybara.app_host = app_host
|
27
|
+
Capybara.app_host = app_host unless app_host.nil?
|
28
28
|
|
29
29
|
# set browser window size only if testing with a desktop web browser
|
30
30
|
unless Capybara.current_driver == :poltergeist
|
data/testcentricity_web.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.required_ruby_version = '>= 2.1.1'
|
11
11
|
spec.authors = ['A.J. Mrozinski']
|
12
12
|
spec.email = ['test_automation@icloud.com']
|
13
|
-
spec.summary = %q{A Page Object and Data Object Model Framework for desktop and
|
13
|
+
spec.summary = %q{A Page Object and Data Object Model Framework for desktop and mobile web testing}
|
14
14
|
spec.description = %q{
|
15
15
|
TestCentricity™ core generic framework for desktop and mobile web site testing implements a Page Object Model DSL,
|
16
16
|
for use with Cucumber, Capybara, and selenium-webdriver. Supports testing against locally hosted desktop browsers
|
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.1
|
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-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -161,6 +161,7 @@ files:
|
|
161
161
|
- ".idea/misc.xml"
|
162
162
|
- ".idea/modules.xml"
|
163
163
|
- ".idea/vcs.xml"
|
164
|
+
- ".yardopts"
|
164
165
|
- Gemfile
|
165
166
|
- LICENSE.txt
|
166
167
|
- README.md
|
@@ -204,7 +205,7 @@ rubyforge_project:
|
|
204
205
|
rubygems_version: 2.2.2
|
205
206
|
signing_key:
|
206
207
|
specification_version: 4
|
207
|
-
summary: A Page Object and Data Object Model Framework for desktop and
|
208
|
-
|
208
|
+
summary: A Page Object and Data Object Model Framework for desktop and mobile web
|
209
|
+
testing
|
209
210
|
test_files: []
|
210
211
|
has_rdoc:
|