testcentricity_web 0.5.7 → 0.5.7.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f8114408f91a111679a8117c65384050040eacf8
4
- data.tar.gz: 80bf1711744152b92dbe5394cf520431d1feca99
3
+ metadata.gz: 9569e27215cf9488a0b1ac757fc3849b50e860f8
4
+ data.tar.gz: 69d04c8ff6316100bd97a6fcd3c631a007232555
5
5
  SHA512:
6
- metadata.gz: fca8c04fa90c2d8122a5729ca1cb5e5f7afde04621f2afda77a2b0529169adfb655e8545999209bbc52c656c3418d894cee234bfe221cd216d45c7d8f8a8da78
7
- data.tar.gz: 7e65e2d4cf450772d12f2b78583ba042f3f9449278b2680e2e02a694706721a61e231c49e10a319be49145bf174cc831d2674c9e64a4e5b326f2ec5ed9edc422
6
+ metadata.gz: 5b58009042ebe9fce1f9376ca46730a5b27574ca0d41ff5050d24a638c3576cd76c47a31518cc12dba11decdd2e98a1817c0b6e48090c47d2ac832077a7fda25
7
+ data.tar.gz: 5dce0ce7e4600fc7dbc044ef9a267c1e2b790f5e0747aaace568658d4730e77d08d139abc6be1687c0ae05a91b02911af65281abc62ee3cd0d31ad24e583b4db
data/.yardopts ADDED
@@ -0,0 +1,2 @@
1
+ --markup markdown
2
+ --markup-provider redcarpet
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in testcentricity_web.gemspec
4
4
  gemspec
5
+
6
+ gem 'redcarpet', :groups => [ :development, :test ]
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
- modification, are permitted provided that the following conditions are met:
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
- notice, this list of conditions, and the following disclaimer in the
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
- may be used to endorse or promote products derived from this software without
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
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
306
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
307
- IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
308
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
309
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
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,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '0.5.7'
2
+ VERSION = '0.5.7.1'
3
3
  end
@@ -1,8 +1,8 @@
1
1
  module TestCentricity
2
- class WebDriverConnect
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
@@ -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 responsive mobile web testing}
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-18 00:00:00.000000000 Z
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 responsive
208
- mobile web testing
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: