0

I am using Webdriver manager to instantiate my drivers. I am launching tests cases on Chrome in an Ubuntu OS installed in a VirtualBox with Windows as a host machine. However, of late, when I launch my test case, it opens the url in chrome, stays stuck and gives me the following error:

org.openqa.selenium.remote.ErrorCodes toStatus
INFO: HTTP Status: '404' -> incorrect JSON status mapping for 'unknown 
error' (500 expected)

org.openqa.selenium.json.JsonException: Expected to read a START_MAP but 
instead have: END. Last 0 characters read: 
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08- 
02T20:19:58.91Z'
System info: host: 'DESKTOP-EVVMB8E', ip: 'myIP', os.name: 
'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: 
'1.8.0_221'
 Driver info: driver.version: RemoteWebDriver

My tests are able to launch the browser, maximise it and open the url. However it is not able to sendkeys or do any sort of interation with the elements.I tried using the latest version of Selenium Webdriver i.e. 4.0.0 alpha 2 but it did not work as well.

//My POM.xml dependencies are as follows

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>4.7.2</version>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>4.7.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apiguardian/apiguardian-api -->
    <dependency>
        <groupId>org.apiguardian</groupId>
        <artifactId>apiguardian-api</artifactId>
        <version>1.1.0</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>4.7.2</version>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.5.1</version>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>2.28.2</version>
        <scope>test</scope>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-remote-driver -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-remote-driver</artifactId>
        <version>3.141.59</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-picocontainer</artifactId>
        <version>4.5.3</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>3.7.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>3.7.1</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.13.2</version>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.glassfish/javax.json -->
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.0.4</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

    <dependency>
        <groupId>com.github.mkolisnyk</groupId>
        <artifactId>cucumber-runner</artifactId>
        <version>1.3.5</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.json/json -->
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20190722</version>
    </dependency>

Following is the way I am handling the Remote Chrome driver:

public void handleRemoteWebdriver() throws MalformedURLException {
    DesiredCapabilities browser = DesiredCapabilities.chrome();
    browser.setCapability("enableVideo", false);
    browser.setCapability("enableLog", true);
    browser.setCapability("enableVNC", true);
    browser.setCapability("version","77.0");
    //WebDriverManager.chromedriver().clearPreferences();
    //WebDriverManager.chromedriver().setup();
    driver = new RemoteWebDriver(new URL("http://domain:4444/wd/hub"), browser);
}

The tests work perfectly fine when I launch in Chrome on my Windows local machine. Since, I do not have much experience in automation in java, bear with my question, please. I just can't understand, what am I missing exactly!

automaticien
  • 153
  • 5
  • 14
  • The System info says that you are executing the test on Windows 10 and not on Ubuntu? – AndiCover Oct 01 '19 at 16:03
  • @AndiCover I am launching it on Ubuntu. I just did not disclose the IP. Have a look at the handleRemoteWebDriver class shown above! – automaticien Oct 01 '19 at 16:05
  • Please read out this https://medium.com/@appening/how-to-run-your-test-on-multiple-machines-using-selenium-grid-3aa37d5d2b63 – stacktome Oct 01 '19 at 20:23
  • @stacktome I am not using Selenium Grid. I am using Selenoid which launches browsers in container. My tests work perfectly fine when launched on local machine. It is just not able to launch it on chrome or even firefox container in Selenoid. – automaticien Oct 02 '19 at 06:59

0 Answers0