试图在Sauce Labs中运行eclipse JAVA程序。但是遇到构造函数和远程webdriver的问题。

问题描述 投票:0回答:1

写在下面的代码来在Sauce Labs中运行一个eclipse程序。工作流显示一个问题“构造函数远程WebDriver(String,DesiredCapabilities)未定义”。

我还是尝试运行该程序然后问题来了。

线程“main”中的异常java.lang.Error:未解决的编译问题:构造函数RemoteWebDriver(URL,DesiredCapabilities)未定义构造函数URL(String)未定义在sauceprog.main(sauceprog.java:40)

码:

    import java.net.MalformedURLException;
    import org.openqa.selenium.By;
    import org.openqa.selenium.Keys;
    import org.openqa.selenium.remote.CommandExecutor;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.openqa.selenium.remote.RemoteWebDriver;

    import com.gargoylesoftware.htmlunit.javascript.host.URL;
    public class sauceprog
    {

    public static void main(String[] args) throws InterruptedException, MalformedURLException
    {
        String browser = "safari-saucelabs";
        String URL = "https://rpautomation4:[email protected]:443/wd/hub";
        DesiredCapabilities caps = null;

    switch(browser.toLowerCase())
    {
    case "internetexplorer-win-saucelabs":
    caps = DesiredCapabilities.internetExplorer();
    caps.setCapability("platform", "Windows 10");
    caps.setCapability("version", "11.103");
    caps.setCapability("recordVideo", "false");
    caps.setCapability("screenResolution", "1024x768");
    break;
    case "chrome-win-saucelabs":
    caps = DesiredCapabilities.chrome();
    caps.setCapability("platform", "Windows 8");
    caps.setCapability("version", "69.0");
    caps.setCapability("recordVideo", "false");
    break;
    case "firefox-win-saucelabs":
    caps = DesiredCapabilities.firefox();
    caps.setCapability("platform", "Windows 8");
    caps.setCapability("version", "62.0");
    caps.setCapability("recordVideo", "false");
    default: 
        System.out.println("you passed incorrect values. Please check next time");
    }
    RemoteWebDriver driver = new RemoteWebDriver(URL,caps);
    driver.get("https://www.google.com");
    driver.findElement(By.name("q")).sendKeys("selenium");
    Thread.sleep(2000);
    driver.findElement(By.name("q")).sendKeys(Keys.ENTER);
    Thread.sleep(5000);
    driver.quit();
    }
    }
selenium selenium-webdriver saucelabs remotewebdriver
1个回答
0
投票

您使用的是错误的import语句。理想情况下,您的程序应使用import java.net.URL;而不是import com.gargoylesoftware.htmlunit.javascript.host.URL;

我已在下面发布了完整的更新代码段:

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import java.net.MalformedURLException;
import java.net.URL;

public class sauceprog
{
    public static void main(String[] args) throws InterruptedException, MalformedURLException
    {
        String browser = "safari-saucelabs";
        String URL = "https://<sauce_user>:<key>@ondemand.saucelabs.com:443/wd/hub";
        DesiredCapabilities caps = null;

        switch(browser.toLowerCase())
        {
            case "internetexplorer-win-saucelabs":
                caps = DesiredCapabilities.internetExplorer();
                caps.setCapability("platform", "Windows 10");
                caps.setCapability("version", "11.103");
                caps.setCapability("recordVideo", "false");
                caps.setCapability("screenResolution", "1024x768");
                break;
            case "chrome-win-saucelabs":
                caps = DesiredCapabilities.chrome();
                caps.setCapability("platform", "Windows 8");
                caps.setCapability("version", "69.0");
                caps.setCapability("recordVideo", "false");
                break;
            case "firefox-win-saucelabs":
                caps = DesiredCapabilities.firefox();
                caps.setCapability("platform", "Windows 8");
                caps.setCapability("version", "62.0");
                caps.setCapability("recordVideo", "false");
            default:
                System.out.println("you passed incorrect values. Please check next time");
        }
        RemoteWebDriver driver = new RemoteWebDriver(new URL(URL),caps);
        driver.get("https://www.google.com");
        driver.findElement(By.name("q")).sendKeys("selenium");
        Thread.sleep(2000);
        driver.findElement(By.name("q")).sendKeys(Keys.ENTER);
        Thread.sleep(5000);
        driver.quit();
    }
}

此外,我建议你更新你的酱用户名和密钥,如果还没有完成。由于您公开发布了用户名和密钥,因此任何人都可以使用相同的方式在您的帐户上运行测试。

© www.soinside.com 2019 - 2024. All rights reserved.