Попытка запустить JAVA-программу Eclipse в Sauce Labs. Но проблема с конструктором и удаленным веб-драйвером. - PullRequest
0 голосов
/ 09 сентября 2018

Написанный ниже код для запуска программы Eclipse в Sauce Labs. Рабочий процесс показывает проблему «Конструктор Remote 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:27763475-7193-4984-8074-a4fe2f9982f7@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(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();
    }
    }

1 Ответ

0 голосов
/ 12 сентября 2018

Вы используете неверный оператор импорта. В идеале ваша программа должна использовать 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();
    }
}

Кроме того, я бы посоветовал вам обновить имя пользователя и ключ для соуса, если это еще не сделано. Поскольку вы опубликовали имя пользователя и ключ публично, любой может запустить свои тесты в своей учетной записи, используя то же самое.

...