2016-05-18 3 views
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

にキャストすることはできません
しかし、その文字列を研ぐには、テストはこれまでに実行され、版画これはありません、ここにあります

完全なスタックトレースが必要ですか?

質問です - 私は間違っていますか?これを解決するには?私はリモートテストを実行し、ファイルからの文字列によるリンク文字列をチェックし、私のローカル環境ではチェックしないでください。

ローカルOS Linux Mint 17、Selenide 3.4、Selenium 2.53.0、Ideaから実行、 リモートVM Win7、Seleniumスタンドアロンサーバーハブと1つのノード。 ドライバの標準Firefox。

Configurationにリモートサーバーを設定すると、 "open"コマンドで失敗します。

とjava.lang.ClassCastException:java.lang.Stringでは org.openqa.selenium.remote.RemoteWebDriver.startSessionで java.util.Map

にキャストすることはできません(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) com.codeborne.selenideました。 でcom.codeborne.selenide.WebDriverRunner.getAndCheckWebDriver(WebDriverRunner.java:118) でimpl.WebDriverThreadLocalContainer.getAndCheckWebDriver(WebDriverThreadLocalContainer.java:113) com.codeborne.selenide.impl.Navigator.navigateToAbsoluteUrl(Navigator.java。 44) at com.codeborne.selenide.impl.Navigator.open(Navigator.java:23) com.codeborne.selenide.Selenide.open(Selenide.java:51)at sun.reflect.DelegatingMethodAccessorImpl.invokeでsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) でsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)でSmallOrder.smallOrderTest(SmallOrder.java:44) (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 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)at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128)at org .testng.internal.TestMethodWorker .invokeTestMethods(TestMethodWorker.java:129) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) at org.testng.TestRunner。 org.testng.SuiteRunner.runSequentially(へ org.testng.SuiteRunner.runTest(SuiteRunner.java:366)に org.testng.TestRunner.run(TestRunner.java:632)にprivateRun(TestRunner.java:782) org.testng.SuiteRunnerWorker.runSuiteにorg.testng.SuiteRunner.run(SuiteRunner.java:268)に org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)(SuiteRunnerWorkerにSuiteRunner.java:361)。ジャワ:52) org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)に org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)に org.testng.TestNG.runSuitesLocally(TestNG.javaました: 1169) org.testng.IDEARemoteTestNG.runにorg.testng.TestNG.run(TestNG.java:1064)(IDEARemoに sun.reflect.NativeMethodAccessorImpl.invokeにsun.reflect.NativeMethodAccessorImpl.invoke0(代替法) org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:121)にteTestNG.java:74)(NativeMethodAccessorImpl.java:62 ) にsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)java.lang.reflect.Method.invoke(Method.java:498)に com.intellij.rt.execution.application.AppMainします。メイン(AppMain.java:144)(WebDriver's source codeに見られるように)

+0

フルスタックは常に役立ちます。 は、グリッドの構成、デルドライバSOMのOS、hvorラインEXの詳細を追加します。発生しました。スタックトレースを追加しました – SkorpEN

+0

@SkorpEN、ライン – Boris

+0

AppMainでライン144には何があるとconfigurationmとドライバーたちを? – SkorpEN

答えて

0

初期化RemoteWebDriverはDesiredCapabilitiesを設定する必要があります。

私はセレンのユーザーではないけど、あなたはそのようなオプションが用意されていない場合は、参照、最新の2つのバージョンをアップグレードしてみてくださいとConfiguration.browserCapabilities

を使用したりすることができますように、それは、バージョンこれは少し痛いです3.4と思えますここでは例:https://github.com/codeborne/selenide/issues/444

関連する問題