selenium - 试图在 Sauce Labs 中运行一个 Eclipse JAVA 程序。但是构造函数和远程 webdriver 出现问题。
问题描述
写在下面的代码以在 Sauce Labs 中运行 eclipse 程序。工作流显示问题“构造函数 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();
}
}
解决方案
您使用了不正确的导入语句。理想情况下,您的程序应该使用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();
}
}
另外,如果还没有完成,我建议您更新您的酱汁用户名和密钥。由于您公开发布了用户名和密钥,因此任何人都可以使用它们在您的帐户上运行他们的测试。
推荐阅读
- python - StreamLabsChatBot PyAutoGUI 不支持您的平台 (cli)
- javascript - 在嵌套的 ngFor 循环中使用数组的长度迭代数组 - Angular 9
- c# - c# 8x8 网格并找到相邻的匹配符号
- hibernate - JPA 从映射关联中过滤实体
- mongodb - 如何验证数组是否包含 MongoDB 上的顺序项?
- javascript - 赛普拉斯在命令日志中看不到请求
- javascript - Vue-simple-suggest 在从 vuex 加载数据时将 v-model 转换为 null
- python - Discord 版主机器人
- r - R:将连续项目配对到新的单独列中
- java - Java中的问题冒泡排序泛型类型