testcentricity_web 0.5.8 → 0.6.0
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 +82 -12
 - data/lib/testcentricity_web/data_objects_helper.rb +4 -4
 - data/lib/testcentricity_web/environment.rb +1 -1
 - data/lib/testcentricity_web/excel_helper.rb +1 -1
 - data/lib/testcentricity_web/version.rb +1 -1
 - data/lib/testcentricity_web/webdriver_helper.rb +53 -17
 - data/testcentricity_web.gemspec +2 -2
 - metadata +15 -9
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 2fb8bf051e24256d81fbc0d4251558dcaa032115
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 339e86a0105a98df17b3cb9e84e1b584ded85402
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a2879ff733f7d7a9c0815ed99265c2b58f1651d53e1d29101573b26b5ae97376b5b666b754fecba7ac75f95ae631844252e48e61fb2d3d2c80c8ac5b3d0ef053
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: c2fbacd4e3819a92601b257a75aa80116f988518cfe8c4091d3fe974392679e8d8313dff748221a48aaa7400f3272cab2b58953c8e2647c82bfc44b8bf3aefb4
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -3,7 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            The TestCentricity™ core generic framework for desktop and mobile web site testing implements a Page Object and Data Object Model DSL for
         
     | 
| 
       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 
     | 
    
         
            -
            or on cloud hosted desktop or mobile web browsers using the BrowserStack, Sauce Labs, or  
     | 
| 
      
 6 
     | 
    
         
            +
            or on cloud hosted desktop or mobile web browsers using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services.
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            ## Installation
         
     | 
| 
         @@ -28,6 +28,7 @@ If you are using Cucumber, you need to require the following in your *env.rb* fi 
     | 
|
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
                require 'capybara'
         
     | 
| 
       30 
30 
     | 
    
         
             
                require 'capybara/cucumber'
         
     | 
| 
      
 31 
     | 
    
         
            +
                require 'selenium-webdriver'
         
     | 
| 
       31 
32 
     | 
    
         
             
                require 'testcentricity_web'
         
     | 
| 
       32 
33 
     | 
    
         | 
| 
       33 
34 
     | 
    
         | 
| 
         @@ -37,15 +38,16 @@ If you are using RSpec instead, you need to require the following in your *env.r 
     | 
|
| 
       37 
38 
     | 
    
         | 
| 
       38 
39 
     | 
    
         
             
                require 'capybara'
         
     | 
| 
       39 
40 
     | 
    
         
             
                require 'capybara/rspec'
         
     | 
| 
      
 41 
     | 
    
         
            +
                require 'selenium-webdriver'
         
     | 
| 
       40 
42 
     | 
    
         
             
                require 'testcentricity_web'
         
     | 
| 
       41 
43 
     | 
    
         | 
| 
       42 
44 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
            ### 
     | 
| 
      
 45 
     | 
    
         
            +
            ### Using Poltergeist
         
     | 
| 
       44 
46 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
            If you  
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
      
 47 
     | 
    
         
            +
            If you will be running your tests on a "headless" web browser using Poltergeist and PhantomJS, you must add this line to your automation
         
     | 
| 
      
 48 
     | 
    
         
            +
            project's Gemfile:
         
     | 
| 
       47 
49 
     | 
    
         | 
| 
       48 
     | 
    
         
            -
                 
     | 
| 
      
 50 
     | 
    
         
            +
                gem 'poltergeist'
         
     | 
| 
       49 
51 
     | 
    
         | 
| 
       50 
52 
     | 
    
         | 
| 
       51 
53 
     | 
    
         | 
| 
         @@ -324,8 +326,8 @@ To specify the emulated device's screen orientation, you set the **ORIENTATION** 
     | 
|
| 
       324 
326 
     | 
    
         | 
| 
       325 
327 
     | 
    
         
             
            ### Remotely hosted desktop and mobile web browsers
         
     | 
| 
       326 
328 
     | 
    
         | 
| 
       327 
     | 
    
         
            -
            You can run your automated tests against remotely hosted desktop and mobile web browsers using the BrowserStack, CrossBrowserTesting, 
     | 
| 
       328 
     | 
    
         
            -
            Sauce Labs services.
         
     | 
| 
      
 329 
     | 
    
         
            +
            You can run your automated tests against remotely hosted desktop and mobile web browsers using the BrowserStack, CrossBrowserTesting,
         
     | 
| 
      
 330 
     | 
    
         
            +
            Sauce Labs, or TestingBot services.
         
     | 
| 
       329 
331 
     | 
    
         | 
| 
       330 
332 
     | 
    
         | 
| 
       331 
333 
     | 
    
         
             
            #### Remote desktop browsers on the BrowserStack service
         
     | 
| 
         @@ -429,14 +431,31 @@ SL_DEVICE_TYPE | If displayed, refer to ***deviceType*** capability in the Copy 
     | 
|
| 
       429 
431 
     | 
    
         
             
            ORIENTATION | Refer to ***deviceOrientation*** capability in the Copy Code section of the Platform Configurator page
         
     | 
| 
       430 
432 
     | 
    
         | 
| 
       431 
433 
     | 
    
         | 
| 
      
 434 
     | 
    
         
            +
            #### Remote desktop browsers on the TestingBot service
         
     | 
| 
      
 435 
     | 
    
         
            +
             
     | 
| 
      
 436 
     | 
    
         
            +
            For remotely hosted desktop web browsers on the TestingBot service, the following **Environment Variables** must be set as described in
         
     | 
| 
      
 437 
     | 
    
         
            +
            the table below. Refer to the [TestingBot List of Available Browsers page](https://testingbot.com/support/getting-started/browsers.html) for information regarding the specific capabilities.
         
     | 
| 
      
 438 
     | 
    
         
            +
             
     | 
| 
      
 439 
     | 
    
         
            +
            **Environment Variable** | Description
         
     | 
| 
      
 440 
     | 
    
         
            +
            --------------- | ----------------
         
     | 
| 
      
 441 
     | 
    
         
            +
            WEB_BROWSER | Must be set to ***testingbot***
         
     | 
| 
      
 442 
     | 
    
         
            +
            TB_USERNAME | Must be set to your TestingBot account user name
         
     | 
| 
      
 443 
     | 
    
         
            +
            TB_AUTHKEY | Must be set to your TestingBot account access key
         
     | 
| 
      
 444 
     | 
    
         
            +
            TB_OS | Refer to ***platform*** capability in chart
         
     | 
| 
      
 445 
     | 
    
         
            +
            TB_BROWSER | Refer to ***browserName*** capability in chart
         
     | 
| 
      
 446 
     | 
    
         
            +
            TB_VERSION | Refer to ***version*** capability in chart
         
     | 
| 
      
 447 
     | 
    
         
            +
            RESOLUTION | Possible values: 800x600, 1024x768, 1280x960, 1280x1024, 1600x1200, 1920x1200, 2560x1440
         
     | 
| 
      
 448 
     | 
    
         
            +
             
     | 
| 
       432 
449 
     | 
    
         | 
| 
       433 
450 
     | 
    
         
             
            ### Using Browser specific Profiles in cucumber.yml
         
     | 
| 
       434 
451 
     | 
    
         | 
| 
       435 
     | 
    
         
            -
            While you can set **Environment Variables** in the command line when invoking Cucumber, a preferred method of specifying and managing 
     | 
| 
       436 
     | 
    
         
            -
            web browsers is to create browser specific **Profiles** that set the appropriate **Environment Variables** for each target browser 
     | 
| 
       437 
     | 
    
         
            -
            ***cucumber.yml*** file. Below is a list of Cucumber **Profiles** for supported locally and remotely hosted desktop and mobile 
     | 
| 
       438 
     | 
    
         
            -
            (put these in in your ***cucumber.yml*** file). 
     | 
| 
       439 
     | 
    
         
            -
             
     | 
| 
      
 452 
     | 
    
         
            +
            While you can set **Environment Variables** in the command line when invoking Cucumber, a preferred method of specifying and managing
         
     | 
| 
      
 453 
     | 
    
         
            +
            target web browsers is to create browser specific **Profiles** that set the appropriate **Environment Variables** for each target browser
         
     | 
| 
      
 454 
     | 
    
         
            +
            in your ***cucumber.yml*** file. Below is a list of Cucumber **Profiles** for supported locally and remotely hosted desktop and mobile
         
     | 
| 
      
 455 
     | 
    
         
            +
            web browsers (put these in in your ***cucumber.yml*** file).
         
     | 
| 
      
 456 
     | 
    
         
            +
             
     | 
| 
      
 457 
     | 
    
         
            +
            Before you can use the BrowserStack, CrossBrowserTesting, Sauce Labs, or TestingBot services, you will need to replace the placeholder
         
     | 
| 
      
 458 
     | 
    
         
            +
            text with your user account and authorization code for the cloud service(s) that you intend to connect with.
         
     | 
| 
       440 
459 
     | 
    
         | 
| 
       441 
460 
     | 
    
         
             
                <% desktop          = "--tags ~@wip --tags ~@failing --tags @desktop --require features" %>
         
     | 
| 
       442 
461 
     | 
    
         
             
                <% mobile           = "--tags ~@wip --tags ~@failing --tags @mobile  --require features" %>
         
     | 
| 
         @@ -659,6 +678,52 @@ need to replace the placeholder text with your user account and authorization co 
     | 
|
| 
       659 
678 
     | 
    
         
             
                sl_android:         --profile sl_mobile SL_PLATFORM=Linux SL_BROWSER="android" SL_VERSION="4.4"
         
     | 
| 
       660 
679 
     | 
    
         
             
                sl_android_phone:   --profile sl_android SL_DEVICE="Android Emulator" SL_DEVICE_TYPE="phone"
         
     | 
| 
       661 
680 
     | 
    
         
             
                sl_android_tablet:  --profile sl_android SL_DEVICE="Android Emulator" SL_DEVICE_TYPE="tablet"
         
     | 
| 
      
 681 
     | 
    
         
            +
                
         
     | 
| 
      
 682 
     | 
    
         
            +
                
         
     | 
| 
      
 683 
     | 
    
         
            +
                #==============
         
     | 
| 
      
 684 
     | 
    
         
            +
                # profiles for remotely hosted web browsers on the TestingBot service
         
     | 
| 
      
 685 
     | 
    
         
            +
                #==============
         
     | 
| 
      
 686 
     | 
    
         
            +
                
         
     | 
| 
      
 687 
     | 
    
         
            +
                testingbot:         WEB_BROWSER=testingbot TB_USERNAME=<INSERT USER NAME HERE> TB_AUTHKEY=<INSERT PASSWORD HERE>
         
     | 
| 
      
 688 
     | 
    
         
            +
                tb_desktop:         --profile testingbot <%= desktop %> RESOLUTION="1920x1200"
         
     | 
| 
      
 689 
     | 
    
         
            +
                tb_mobile:          --profile testingbot <%= mobile %>
         
     | 
| 
      
 690 
     | 
    
         
            +
                
         
     | 
| 
      
 691 
     | 
    
         
            +
                # TestingBot OS X profiles
         
     | 
| 
      
 692 
     | 
    
         
            +
                tb_osx_el_capitan:  --profile tb_desktop TB_OS="CAPITAN"
         
     | 
| 
      
 693 
     | 
    
         
            +
                tb_ff_el_cap:       --profile tb_osx_el_capitan TB_BROWSER="firefox"
         
     | 
| 
      
 694 
     | 
    
         
            +
                tb_chrome_el_cap:   --profile tb_osx_el_capitan TB_BROWSER="chrome"
         
     | 
| 
      
 695 
     | 
    
         
            +
                tb_safari_el_cap:   --profile tb_osx_el_capitan TB_BROWSER="safari" TB_VERSION="9"
         
     | 
| 
      
 696 
     | 
    
         
            +
                tb_safari9_el_cap:  --profile tb_osx_el_capitan TB_BROWSER="safari" TB_VERSION="9"
         
     | 
| 
      
 697 
     | 
    
         
            +
                
         
     | 
| 
      
 698 
     | 
    
         
            +
                tb_osx_yosemite:    --profile tb_desktop TB_OS="YOSEMITE"
         
     | 
| 
      
 699 
     | 
    
         
            +
                tb_ff_yos:          --profile tb_osx_yosemite TB_BROWSER="firefox"
         
     | 
| 
      
 700 
     | 
    
         
            +
                tb_chrome_yos:      --profile tb_osx_yosemite TB_BROWSER="chrome"
         
     | 
| 
      
 701 
     | 
    
         
            +
                tb_safari_yos:      --profile tb_osx_yosemite TB_BROWSER="safari" TB_VERSION="8"
         
     | 
| 
      
 702 
     | 
    
         
            +
                tb_safari8_osx:     --profile tb_osx_yosemite TB_BROWSER="safari" TB_VERSION="8"
         
     | 
| 
      
 703 
     | 
    
         
            +
                
         
     | 
| 
      
 704 
     | 
    
         
            +
                tb_osx_mavericks:   --profile tb_desktop TB_OS="MAVERICKS"
         
     | 
| 
      
 705 
     | 
    
         
            +
                tb_ff_mav:          --profile tb_osx_mavericks TB_BROWSER="firefox"
         
     | 
| 
      
 706 
     | 
    
         
            +
                tb_chrome_mav:      --profile tb_osx_mavericks TB_BROWSER="chrome"
         
     | 
| 
      
 707 
     | 
    
         
            +
                tb_safari_mav:      --profile tb_osx_mavericks TB_BROWSER="safari" TB_VERSION="7"
         
     | 
| 
      
 708 
     | 
    
         
            +
                tb_safari7_osx:     --profile tb_osx_mavericks TB_BROWSER="safari" TB_VERSION="7"
         
     | 
| 
      
 709 
     | 
    
         
            +
                
         
     | 
| 
      
 710 
     | 
    
         
            +
                # TestingBot Windows profiles
         
     | 
| 
      
 711 
     | 
    
         
            +
                tb_win7:            --profile tb_desktop TB_OS="WIN7"
         
     | 
| 
      
 712 
     | 
    
         
            +
                tb_win8:            --profile tb_desktop TB_OS="WIN8"
         
     | 
| 
      
 713 
     | 
    
         
            +
                tb_win10:           --profile tb_desktop TB_OS="WIN10"
         
     | 
| 
      
 714 
     | 
    
         
            +
                tb_ff_win7:         --profile tb_win7 TB_BROWSER="firefox"
         
     | 
| 
      
 715 
     | 
    
         
            +
                tb_ff_win8:         --profile tb_win8 TB_BROWSER="firefox"
         
     | 
| 
      
 716 
     | 
    
         
            +
                tb_ff_win10:        --profile tb_win10 TB_BROWSER="firefox"
         
     | 
| 
      
 717 
     | 
    
         
            +
                tb_chrome_win7:     --profile tb_win7 TB_BROWSER="chrome"
         
     | 
| 
      
 718 
     | 
    
         
            +
                tb_chrome_win8:     --profile tb_win8 TB_BROWSER="chrome"
         
     | 
| 
      
 719 
     | 
    
         
            +
                tb_chrome_win10:    --profile tb_win10 TB_BROWSER="chrome"
         
     | 
| 
      
 720 
     | 
    
         
            +
                
         
     | 
| 
      
 721 
     | 
    
         
            +
                tb_ie9_win7:        --profile tb_win7 TB_BROWSER="internet explorer" TB_VERSION="9"
         
     | 
| 
      
 722 
     | 
    
         
            +
                tb_ie11_win8:       --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="11"
         
     | 
| 
      
 723 
     | 
    
         
            +
                tb_ie10_win8:       --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="10"
         
     | 
| 
      
 724 
     | 
    
         
            +
                tb_ie11_win10:      --profile tb_win10 TB_BROWSER="internet explorer" TB_VERSION="11"
         
     | 
| 
      
 725 
     | 
    
         
            +
                tb_edge_win10:      --profile tb_win10 TB_BROWSER="microsoftedge" TB_VERSION="13"
         
     | 
| 
      
 726 
     | 
    
         
            +
             
     | 
| 
       662 
727 
     | 
    
         | 
| 
       663 
728 
     | 
    
         
             
            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
         
     | 
| 
       664 
729 
     | 
    
         
             
            invoking Cucumber in the command line. For instance, the following command invokes Cucumber and specifies that a local instance of Chrome
         
     | 
| 
         @@ -675,6 +740,11 @@ The following command specifies that Cucumber will run tests against a remotely 
     | 
|
| 
       675 
740 
     | 
    
         
             
            virtual machine on the BrowserStack service:
         
     | 
| 
       676 
741 
     | 
    
         | 
| 
       677 
742 
     | 
    
         
             
                cucumber -p bs_safari_yos
         
     | 
| 
      
 743 
     | 
    
         
            +
             
         
     | 
| 
      
 744 
     | 
    
         
            +
            The following command specifies that Cucumber will run tests against a remotely hosted Mobile Safari web browser on an iPhone 6s Plus in
         
     | 
| 
      
 745 
     | 
    
         
            +
            landscape orientation running on the BrowserStack service:
         
     | 
| 
      
 746 
     | 
    
         
            +
             
     | 
| 
      
 747 
     | 
    
         
            +
                cucumber -p bs_iphone6_plus -p landscape
         
     | 
| 
       678 
748 
     | 
    
         | 
| 
       679 
749 
     | 
    
         | 
| 
       680 
750 
     | 
    
         | 
| 
         @@ -22,17 +22,17 @@ module TestCentricity 
     | 
|
| 
       22 
22 
     | 
    
         
             
                attr_accessor :current
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                def pick_excel_data_source(sheet, row_name)
         
     | 
| 
       25 
     | 
    
         
            -
                  data_file =  
     | 
| 
       26 
     | 
    
         
            -
                  data_file = XL_PRIMARY_DATA_FILE unless  
     | 
| 
      
 25 
     | 
    
         
            +
                  data_file = ExcelData.get_environment_data_file
         
     | 
| 
      
 26 
     | 
    
         
            +
                  data_file = XL_PRIMARY_DATA_FILE unless ExcelData.rowspec_exists?(data_file, sheet, row_name)
         
     | 
| 
       27 
27 
     | 
    
         
             
                  data_file
         
     | 
| 
       28 
28 
     | 
    
         
             
                end
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
                def read_excel_row_data(sheet, row_name)
         
     | 
| 
       31 
     | 
    
         
            -
                   
     | 
| 
      
 31 
     | 
    
         
            +
                  ExcelData.read_row_data(pick_excel_data_source(sheet, row_name), sheet, row_name)
         
     | 
| 
       32 
32 
     | 
    
         
             
                end
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
                def read_excel_pool_data(sheet, row_name)
         
     | 
| 
       35 
     | 
    
         
            -
                   
     | 
| 
      
 35 
     | 
    
         
            +
                  ExcelData.read_row_from_pool(pick_excel_data_source(sheet, row_name), sheet, row_name)
         
     | 
| 
       36 
36 
     | 
    
         
             
                end
         
     | 
| 
       37 
37 
     | 
    
         
             
              end
         
     | 
| 
       38 
38 
     | 
    
         
             
            end
         
     | 
| 
         @@ -5,7 +5,7 @@ module TestCentricity 
     | 
|
| 
       5 
5 
     | 
    
         
             
                WKS_ENVIRONS ||= 'Environments'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
                def find_environ(row_name)
         
     | 
| 
       8 
     | 
    
         
            -
                  @current = Environ.new( 
     | 
| 
      
 8 
     | 
    
         
            +
                  @current = Environ.new(ExcelData.read_row_data(XL_PRIMARY_DATA_FILE, WKS_ENVIRONS, row_name))
         
     | 
| 
       9 
9 
     | 
    
         
             
                  Environ.set_current(@current)
         
     | 
| 
       10 
10 
     | 
    
         
             
                end
         
     | 
| 
       11 
11 
     | 
    
         
             
              end
         
     | 
| 
         @@ -1,5 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'selenium-webdriver'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
       1 
4 
     | 
    
         
             
            module TestCentricity
         
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
      
 5 
     | 
    
         
            +
              class WebDriverConnect
         
     | 
| 
       3 
6 
     | 
    
         
             
                include Capybara::DSL
         
     | 
| 
       4 
7 
     | 
    
         | 
| 
       5 
8 
     | 
    
         
             
                def self.initialize_web_driver(app_host = nil)
         
     | 
| 
         @@ -16,10 +19,12 @@ module TestCentricity 
     | 
|
| 
       16 
19 
     | 
    
         
             
                      initialize_browserstack
         
     | 
| 
       17 
20 
     | 
    
         
             
                    when :crossbrowser
         
     | 
| 
       18 
21 
     | 
    
         
             
                      initialize_crossbrowser
         
     | 
| 
       19 
     | 
    
         
            -
                    when :saucelabs
         
     | 
| 
       20 
     | 
    
         
            -
                      initialize_saucelabs
         
     | 
| 
       21 
22 
     | 
    
         
             
                    when :poltergeist
         
     | 
| 
       22 
23 
     | 
    
         
             
                      initialize_poltergeist
         
     | 
| 
      
 24 
     | 
    
         
            +
                    when :saucelabs
         
     | 
| 
      
 25 
     | 
    
         
            +
                      initialize_saucelabs
         
     | 
| 
      
 26 
     | 
    
         
            +
                    when :testingbot
         
     | 
| 
      
 27 
     | 
    
         
            +
                      initialize_testingbot
         
     | 
| 
       23 
28 
     | 
    
         
             
                    else
         
     | 
| 
       24 
29 
     | 
    
         
             
                      initialize_local_browser(browser)
         
     | 
| 
       25 
30 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -58,20 +63,6 @@ module TestCentricity 
     | 
|
| 
       58 
63 
     | 
    
         
             
                  end
         
     | 
| 
       59 
64 
     | 
    
         
             
                end
         
     | 
| 
       60 
65 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
                def self.initialize_poltergeist
         
     | 
| 
       62 
     | 
    
         
            -
                  Capybara.default_driver = :poltergeist
         
     | 
| 
       63 
     | 
    
         
            -
                  Capybara.register_driver :poltergeist do |app|
         
     | 
| 
       64 
     | 
    
         
            -
                    options = {
         
     | 
| 
       65 
     | 
    
         
            -
                        :js_errors => true,
         
     | 
| 
       66 
     | 
    
         
            -
                        :timeout => 120,
         
     | 
| 
       67 
     | 
    
         
            -
                        :debug => false,
         
     | 
| 
       68 
     | 
    
         
            -
                        :phantomjs_options => ['--load-images=no', '--disk-cache=false'],
         
     | 
| 
       69 
     | 
    
         
            -
                        :inspector => true,
         
     | 
| 
       70 
     | 
    
         
            -
                    }
         
     | 
| 
       71 
     | 
    
         
            -
                    Capybara::Poltergeist::Driver.new(app, options)
         
     | 
| 
       72 
     | 
    
         
            -
                  end
         
     | 
| 
       73 
     | 
    
         
            -
                end
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
66 
     | 
    
         
             
                def self.initialize_browserstack
         
     | 
| 
       76 
67 
     | 
    
         
             
                  browser = ENV['BS_BROWSER']
         
     | 
| 
       77 
68 
     | 
    
         | 
| 
         @@ -153,6 +144,20 @@ module TestCentricity 
     | 
|
| 
       153 
144 
     | 
    
         
             
                  Capybara.run_server = false
         
     | 
| 
       154 
145 
     | 
    
         
             
                end
         
     | 
| 
       155 
146 
     | 
    
         | 
| 
      
 147 
     | 
    
         
            +
                def self.initialize_poltergeist
         
     | 
| 
      
 148 
     | 
    
         
            +
                  Capybara.default_driver = :poltergeist
         
     | 
| 
      
 149 
     | 
    
         
            +
                  Capybara.register_driver :poltergeist do |app|
         
     | 
| 
      
 150 
     | 
    
         
            +
                    options = {
         
     | 
| 
      
 151 
     | 
    
         
            +
                        :js_errors => true,
         
     | 
| 
      
 152 
     | 
    
         
            +
                        :timeout => 120,
         
     | 
| 
      
 153 
     | 
    
         
            +
                        :debug => false,
         
     | 
| 
      
 154 
     | 
    
         
            +
                        :phantomjs_options => ['--load-images=no', '--disk-cache=false'],
         
     | 
| 
      
 155 
     | 
    
         
            +
                        :inspector => true,
         
     | 
| 
      
 156 
     | 
    
         
            +
                    }
         
     | 
| 
      
 157 
     | 
    
         
            +
                    Capybara::Poltergeist::Driver.new(app, options)
         
     | 
| 
      
 158 
     | 
    
         
            +
                  end
         
     | 
| 
      
 159 
     | 
    
         
            +
                end
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
       156 
161 
     | 
    
         
             
                def self.initialize_saucelabs
         
     | 
| 
       157 
162 
     | 
    
         
             
                  browser = ENV['SL_BROWSER']
         
     | 
| 
       158 
163 
     | 
    
         | 
| 
         @@ -183,5 +188,36 @@ module TestCentricity 
     | 
|
| 
       183 
188 
     | 
    
         
             
                  Capybara.default_driver = :saucelabs
         
     | 
| 
       184 
189 
     | 
    
         
             
                  Capybara.run_server = false
         
     | 
| 
       185 
190 
     | 
    
         
             
                end
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
                def self.initialize_testingbot
         
     | 
| 
      
 193 
     | 
    
         
            +
                  browser = ENV['TB_BROWSER']
         
     | 
| 
      
 194 
     | 
    
         
            +
             
     | 
| 
      
 195 
     | 
    
         
            +
                  endpoint = "http://#{ENV['TB_USERNAME']}:#{ENV['TB_AUTHKEY']}@hub.testingbot.com:4444/wd/hub"
         
     | 
| 
      
 196 
     | 
    
         
            +
                  Capybara.register_driver :testingbot do |app|
         
     | 
| 
      
 197 
     | 
    
         
            +
                    capabilities = Selenium::WebDriver::Remote::Capabilities.new
         
     | 
| 
      
 198 
     | 
    
         
            +
                    capabilities['name'] = ENV['AUTOMATE_PROJECT'] if ENV['AUTOMATE_PROJECT']
         
     | 
| 
      
 199 
     | 
    
         
            +
                    capabilities['build'] = ENV['AUTOMATE_BUILD'] if ENV['AUTOMATE_BUILD']
         
     | 
| 
      
 200 
     | 
    
         
            +
                    capabilities['browserName'] = browser
         
     | 
| 
      
 201 
     | 
    
         
            +
                    capabilities['version'] = ENV['TB_VERSION'] if ENV['TB_VERSION']
         
     | 
| 
      
 202 
     | 
    
         
            +
                    capabilities['screen-resolution'] = ENV['RESOLUTION'] if ENV['RESOLUTION']
         
     | 
| 
      
 203 
     | 
    
         
            +
                    if ENV['TB_OS']
         
     | 
| 
      
 204 
     | 
    
         
            +
                      capabilities['platform'] = ENV['TB_OS']
         
     | 
| 
      
 205 
     | 
    
         
            +
                      Environ.set_platform(:desktop)
         
     | 
| 
      
 206 
     | 
    
         
            +
                    elsif ENV['TB_PLATFORM']
         
     | 
| 
      
 207 
     | 
    
         
            +
                      capabilities['platform'] = ENV['TB_PLATFORM']
         
     | 
| 
      
 208 
     | 
    
         
            +
                      capabilities['browserName'] = ENV['TB_DEVICE']
         
     | 
| 
      
 209 
     | 
    
         
            +
                      capabilities['version'] = ENV['TB_VERSION'] if ENV['TB_VERSION']
         
     | 
| 
      
 210 
     | 
    
         
            +
                      Environ.set_platform(:mobile)
         
     | 
| 
      
 211 
     | 
    
         
            +
                    end
         
     | 
| 
      
 212 
     | 
    
         
            +
             
     | 
| 
      
 213 
     | 
    
         
            +
                    Capybara::Selenium::Driver.new(app, :browser => :remote, :url => endpoint, :desired_capabilities => capabilities)
         
     | 
| 
      
 214 
     | 
    
         
            +
                  end
         
     | 
| 
      
 215 
     | 
    
         
            +
             
     | 
| 
      
 216 
     | 
    
         
            +
                  Environ.set_browser(browser)
         
     | 
| 
      
 217 
     | 
    
         
            +
             
     | 
| 
      
 218 
     | 
    
         
            +
                  Capybara.default_driver = :testingbot
         
     | 
| 
      
 219 
     | 
    
         
            +
                  Capybara.run_server = false
         
     | 
| 
      
 220 
     | 
    
         
            +
             
     | 
| 
      
 221 
     | 
    
         
            +
                end
         
     | 
| 
       186 
222 
     | 
    
         
             
              end
         
     | 
| 
       187 
223 
     | 
    
         
             
            end
         
     | 
    
        data/testcentricity_web.gemspec
    CHANGED
    
    | 
         @@ -16,7 +16,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       16 
16 
     | 
    
         
             
                for use with Cucumber, Capybara, and selenium-webdriver. Supports testing against locally hosted desktop browsers
         
     | 
| 
       17 
17 
     | 
    
         
             
                (Firefox, Chrome, Safari, IE, or Edge), locally hosted emulated iOS and Android mobile browsers (using Firefox), a
         
     | 
| 
       18 
18 
     | 
    
         
             
                "headless" browser (using Poltergeist and PhantomJS), or on cloud hosted browsers using the BrowserStack, Sauce Labs,
         
     | 
| 
       19 
     | 
    
         
            -
                or  
     | 
| 
      
 19 
     | 
    
         
            +
                CrossBrowserTesting, or TestingBot services.}
         
     | 
| 
       20 
20 
     | 
    
         
             
              spec.homepage      = ''
         
     | 
| 
       21 
21 
     | 
    
         
             
              spec.license       = 'BSD3'
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
         @@ -30,8 +30,8 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
              spec.add_dependency 'capybara', ['>= 2.1', '< 3.0']
         
     | 
| 
       32 
32 
     | 
    
         
             
              spec.add_dependency 'test-unit'
         
     | 
| 
      
 33 
     | 
    
         
            +
              spec.add_dependency 'selenium-webdriver', ['>= 2.50.0', '< 2.53.0']
         
     | 
| 
       33 
34 
     | 
    
         
             
              spec.add_dependency 'poltergeist'
         
     | 
| 
       34 
     | 
    
         
            -
              spec.add_dependency 'selenium-webdriver', '>= 2.50.0'
         
     | 
| 
       35 
35 
     | 
    
         
             
              spec.add_dependency 'faker', '>= 1.6.1'
         
     | 
| 
       36 
36 
     | 
    
         
             
              spec.add_dependency 'chronic', '>= 0.10.2'
         
     | 
| 
       37 
37 
     | 
    
         
             
              spec.add_dependency 'spreadsheet', '>= 1.1.1'
         
     | 
    
        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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.0
         
     | 
| 
       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-25 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -73,33 +73,39 @@ dependencies: 
     | 
|
| 
       73 
73 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       74 
74 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       75 
75 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       76 
     | 
    
         
            -
              name:  
     | 
| 
      
 76 
     | 
    
         
            +
              name: selenium-webdriver
         
     | 
| 
       77 
77 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       78 
78 
     | 
    
         
             
                requirements:
         
     | 
| 
       79 
79 
     | 
    
         
             
                - - ">="
         
     | 
| 
       80 
80 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       81 
     | 
    
         
            -
                    version:  
     | 
| 
      
 81 
     | 
    
         
            +
                    version: 2.50.0
         
     | 
| 
      
 82 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 83 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 84 
     | 
    
         
            +
                    version: 2.53.0
         
     | 
| 
       82 
85 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       83 
86 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       84 
87 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       85 
88 
     | 
    
         
             
                requirements:
         
     | 
| 
       86 
89 
     | 
    
         
             
                - - ">="
         
     | 
| 
       87 
90 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       88 
     | 
    
         
            -
                    version:  
     | 
| 
      
 91 
     | 
    
         
            +
                    version: 2.50.0
         
     | 
| 
      
 92 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 93 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 94 
     | 
    
         
            +
                    version: 2.53.0
         
     | 
| 
       89 
95 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       90 
     | 
    
         
            -
              name:  
     | 
| 
      
 96 
     | 
    
         
            +
              name: poltergeist
         
     | 
| 
       91 
97 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       92 
98 
     | 
    
         
             
                requirements:
         
     | 
| 
       93 
99 
     | 
    
         
             
                - - ">="
         
     | 
| 
       94 
100 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       95 
     | 
    
         
            -
                    version:  
     | 
| 
      
 101 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       96 
102 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       97 
103 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       98 
104 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       99 
105 
     | 
    
         
             
                requirements:
         
     | 
| 
       100 
106 
     | 
    
         
             
                - - ">="
         
     | 
| 
       101 
107 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       102 
     | 
    
         
            -
                    version:  
     | 
| 
      
 108 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       103 
109 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       104 
110 
     | 
    
         
             
              name: faker
         
     | 
| 
       105 
111 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -148,7 +154,7 @@ description: |2- 
     | 
|
| 
       148 
154 
     | 
    
         
             
                  for use with Cucumber, Capybara, and selenium-webdriver. Supports testing against locally hosted desktop browsers
         
     | 
| 
       149 
155 
     | 
    
         
             
                  (Firefox, Chrome, Safari, IE, or Edge), locally hosted emulated iOS and Android mobile browsers (using Firefox), a
         
     | 
| 
       150 
156 
     | 
    
         
             
                  "headless" browser (using Poltergeist and PhantomJS), or on cloud hosted browsers using the BrowserStack, Sauce Labs,
         
     | 
| 
       151 
     | 
    
         
            -
                  or  
     | 
| 
      
 157 
     | 
    
         
            +
                  CrossBrowserTesting, or TestingBot services.
         
     | 
| 
       152 
158 
     | 
    
         
             
            email:
         
     | 
| 
       153 
159 
     | 
    
         
             
            - test_automation@icloud.com
         
     | 
| 
       154 
160 
     | 
    
         
             
            executables: []
         
     |