我正在尝试在eclipse/java中创建一个用于selenium测试的项目。
我在windows机器上做这件事,这也是我的selenium网格中心。
我想在一台远程机器上运行我的测试,那就是mac。
在我的项目中,当我这样设置webdriver时:
System.setProperty("webdriver.chromeDriver.driver",
"C:\\SeleniumGrid\\chromeDriver\\chromedriver.exe"
那条路径应该指向我的遥控器/mac上的chromedriver,对吗?
mac已经安装了chrome。我在这台机器上找到了chrome驱动程序:/应用程序/Google\Chrome.app/Contents/MacOS/Google\Chrome
但当我这样设置时:
System.setProperty("webdriver.chromeDriver.driver",
"/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome");
ChromeOptions options = new ChromeOptions();
cap.setCapability(ChromeOptions.CAPABILITY, options);
cap = DesiredCapabilities.chrome();
cap.setBrowserName("chrome");
cap.setPlatform(Platform.MAC);
cap.setJavascriptEnabled(true);
newDriver = new RemoteWebDriver(new URL(
"http://999.999.9.99:9999/wd/hub"), cap);
我在这一行得到一个空指针异常:
cap.setCapability(ChromeOptions.CAPABILITY, options);
不知道我做错了什么。对不起,我是硒的新手。任何想法都将不胜感激。
编辑:这是stacktrace
[TestNG] Running:
[ThreadUtil] Starting executor timeOut:2147483647ms workers:1 threadPoolSize:3
FAILED CONFIGURATION: @BeforeClass setUp("chrome")
java.lang.NullPointerException
at selenium.helper.WebUtils.setUpRemoteDriver(WebUtils.java:74)
at selenium.testNG.TestNikeCareerSearch.setUp(TestNikeCareerSearch.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:175)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:107)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.access$0(SuiteRunner.java:333)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
SKIPPED CONFIGURATION: @AfterClass tearDown
声明
System.setProperty("webdriver.chromeDriver.driver",
"C:\\SeleniumGrid\\chromeDriver\\chromedriver.exe")
将在集线器或代码所在的计算机上运行。因此,属性将在该计算机上设置,而不是在远程计算机上设置。
您可以添加语句-Dwebdriver。铬。driver=“pathtochromedriverinnode”
在mac机器中启动webdriver节点时。比如:
java -jar seleniumserver.jar -role wd -hub http://hubip:port/grid/register -Dwebdriver.chrome.driver="pathtochromedriverinnode"
任何想法/暗示都非常受欢迎;谢了!
我有一个在Chrome-Mac机器上运行自动化脚本的要求
问题内容: 我在Appium面临的问题是我在下面决定的。不使用SUDO,我找不到安装Appium所需组件的方法。用SUDO安装所有组件之后,然后尝试运行Appium,我得到了错误,应该在没有SUDO的情况下安装Appium和NODE。尝试在线搜索解决方案花了我一段时间,因为在使用JAVA开发测试时,几乎没有在线教程可供Appium在MAC上运行。以下是有关如何在Mac OS上设置Appium以及如
问题内容: 我正在使用Java 1.6为Mac编写Java Swing应用程序。我阅读了许多教程,它们逐步引导您如何更好地将Java应用程序与OS X集成在一起,但是有一件事我还没有开始工作。我无法显示应用程序名称(Mac菜单栏中的第一个粗体菜单项)。默认情况下,显示主类的全限定类名,但我无法更改它。 该站点说您必须设置以下属性: 但这不起作用(我正在运行10.6,所以也许属性名称已更改?)。 当
如何配置Spring Boot应用程序,以便在运行单元测试时使用嵌入式SQL Server,从而可以执行存储过程?
问题内容: 我正在运行带有多个Chrome实例的selenium网格。selenium网格是2个带有多个节点的机器(窗口)。测试是从连接到网格的另一台机器执行的。为了能够使用远程调试功能,我需要从正在执行的计算机(可以读取会话主机和驱动程序debugUrl)连接到其他计算机,最后是chrome实例。 但是chrome拒绝localhost以外的任何东西。 我只能找到解决方案,当人们只有一个实例时,