0
 private File f = new File("src/test/resources/text.txt");
 final String projectUrl = "http://someurl.com"


 @BeforeTest
 public void setUp() {
 Configuration.remote = "http://some.ip.address.129:4444/hub"
 }

 @Test
 public void smallOrderTest() throws FileNotFoundException {
   try {
       s = new Scanner(new BufferedReader(new FileReader(f.getAbsolutePath())));
       while (s.hasNext()) {
         open(projectUrl+s.next())
         }
       } finally {
           if (s != null) {
               s.close();
           }
         }
 }

我的问题是什么。当我删除配置字符串时,我在本地环境中收到了很好的测试。但是该字符串在这里,测试永远不会运行,并打印:

java.lang.ClassCastException:java.lang.String 无法转换为 java.util.Map

需要完整的堆栈跟踪?

问题是 - 我做错了什么?如何解决这个问题?我需要运行远程测试,从文件中逐个字符串检查链接,而不是在我的本地环境中。

本地操作系统 Linux Mint 17、Selenide 3.4、Selenium 2.53.0,从 Idea、Remote VM Win7 运行,带有 Selenium 独立服务器集线器和一个节点。驱动标准火狐。

如果我在配置中设置远程服务器,则“打开”命令失败。

java.lang.ClassCastException:java.lang.String 无法转换为 java.util.Map

在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:251) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver .java:158) 在 com.codeborne.selenide.webdriver.WebDriverFactory.createRemoteDriver(WebDriverFactory.java:61) 在 com.codeborne.selenide.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:36) 在 com.codeborne.selenide。 impl.WebDriverThreadLocalContainer.createDriver(WebDriverThreadLocalContainer.java:213) at com.codeborne.selenide.impl.WebDriverThreadLocalContainer.getAndCheckWebDriver(WebDriverThreadLocalContainer.java:113) at com.codeborne.selenide.WebDriverRunner.getAndCheckWebDriver(WebDriverRunner.java:118) at com .codeborne.selenide.impl.Navigator。navigateToAbsoluteUrl(Navigator.java:44) at com.codeborne.selenide.impl.Navigator.open(Navigator.java:23) at com.codeborne.selenide.Selenide.open(Selenide.java:51) at SmallOrder.smallOrderTest(SmallOrder .java:44) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java. lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86) at org.testng.internal.Invoker.invokeMethod(Invoker.java:643) at org .testng.internal.Invoker.invokeTestMethod(Invoker.java:820) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128) 在 org.testng。internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) at org.testng.TestRunner.privateRun(TestRunner.java:782) at org.testng.TestRunner .run(TestRunner.java:632) at org.testng.SuiteRunner.runTest(SuiteRunner.java:366) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361) at org.testng.SuiteRunner.privateRun(SuiteRunner. java:319) at org.testng.SuiteRunner.run(SuiteRunner.java:268) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1169) 在 org.testng.TestNG.run(TestNG.java:1064) 在 org.testng.IDEARemoteTestNG .在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 的 org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:121) 运行(IDEARemoteTestNG.java:74)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java :144)com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 上的 reflect.Method.invoke(Method.java:498)com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 上的 reflect.Method.invoke(Method.java:498)

4

1 回答 1

0

初始化 RemoteWebDriver 需要设置 DesiredCapabilities(可以在WebDriver 的源代码中看到)。

我不是 Selenide 用户,但是使用 3.4 版本似乎有点痛苦,因此您可以尝试升级到最新版本并使用Configuration.browserCapabilities

或者,如果您没有这样的选项,请在此处查看示例:https ://github.com/codeborne/selenide/issues/444

于 2018-02-20T16:57:29.187 回答