Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

Remote WebDriver Grid configuration

Nick edited this page Aug 3, 2017 · 1 revision

Browser configuration in App.config

BrowserStack

Use type - Unickq.SeleniumHelper.WebDriverGrid.BrowserStackWebDriver

<component name="BrowserStackWebDriver"
                 type="Unickq.SeleniumHelper.WebDriverGrid.BrowserStackWebDriver, Unickq.SeleniumHelper.SpecFlowPlugin"
                 service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
        <parameters>
          <parameter name="browser" value="Chrome" />
          <parameter name="capabilities">
            <dictionary>
              <item key="os" value="Windows" />
              <item key="os_version" value="10" />
            </dictionary>
          </parameter>
        </parameters>
      </component>

TestingBot

Use type - Unickq.SeleniumHelper.WebDriverGrid.TestingBotWebDriver

<component name="TestingBotWebDriver"
                 type="Unickq.SeleniumHelper.WebDriverGrid.TestingBotWebDriver, Unickq.SeleniumHelper.SpecFlowPlugin"
                 service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
        <parameters>
          <parameter name="browser" value="Safari" />
          <parameter name="capabilities">
            <dictionary>
              <item key="platform" value="CAPITAN" />
              <item key="version" value="9" />
            </dictionary>
          </parameter>
        </parameters>
      </component>

SauceLabs

Use type - Unickq.SeleniumHelper.WebDriverGrid.SauceLabsWebDriver

<component name="SauceLabsWebDriver"
                 type="Unickq.SeleniumHelper.WebDriverGrid.SauceLabsWebDriver, Unickq.SeleniumHelper.SpecFlowPlugin"
                 service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
        <parameters>
          <parameter name="browser" value="Firefox" />
          <parameter name="capabilities">
            <dictionary>
              <item key="platform" value="Windows 7" />
            </dictionary>
          </parameter>
        </parameters>
      </component>

CrossBrowserTesting

Use type - Unickq.SeleniumHelper.WebDriverGrid.CrossBrowserTestingWebDriver

    <component name="CrossbrowserTesting"
                 type="Unickq.SeleniumHelper.WebDriverGrid.CrossBrowserTestingWebDriver, Unickq.SeleniumHelper.SpecFlowPlugin"
                 service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
        <parameters>
          <parameter name="browser" value="Chrome" />
          <parameter name="capabilities">
            <dictionary>
              <item key="platform" value="Windows 7" />
            </dictionary>
          </parameter>
        </parameters>
      </component>

RemoteWebDriver Grid

Use type - Unickq.SeleniumHelper.WebDriverGrid.RemoteWebDriver

url parameter is required

<component name="RemoteWebDriver"
                 type="Unickq.SeleniumHelper.WebDriverGrid.RemoteWebDriver, Unickq.SeleniumHelper.SpecFlowPlugin"
                 service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
        <parameters>
          <parameter name="url" value="GRID_URL" />
          <parameter name="browser" value="Firefox" />
          <parameter name="capabilities">
            <dictionary>
              <item key="ANY" value="KEY" />
            </dictionary>
          </parameter>
        </parameters>
      </component>

Servise keys

Servise keys could be stored in appSettings

 <appSettings>
    <add key="browserstack.user" value="YOUR_DATA_HERE" />
    <add key="browserstack.key" value="YOUR_DATA_HERE" />
    <add key="testingbot.key" value="YOUR_DATA_HERE" />
    <add key="testingbot.secret" value="YOUR_DATA_HERE" />
    <add key="saucelabs.username" value="YOUR_DATA_HERE" />
    <add key="saucelabs.accessKey" value="YOUR_DATA_HERE" />
    <add key="cbt.user" value="YOUR_DATA_HERE" />
    <add key="cbt.key" value="YOUR_DATA_HERE" />
 </appSettings>

Other keys are available with origin syntax, eg:

<add key="browserstack.networkLogs" value="true" />
<add key="cbt.screen_resolution" value="1920x1080" />

or in component parameters

<component name="BrowserStack_tests"
                 type="Unickq.SeleniumHelper.WebDriverGrid.BrowserStackWebDriver, Unickq.SeleniumHelper.SpecFlowPlugin"
                 service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
        <parameters>
          <parameter name="browser" value="Safari" />
          <parameter name="browserstackUser" value="KEY" />
          <parameter name="browserstackKey" value="SECRET" />
          <parameter name="capabilities">
            <dictionary>
              <item key="platform" value="CAPITAN" />
              <item key="version" value="9" />
            </dictionary>
          </parameter>
        </parameters>
      </component>