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 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: