2016-10-14 9 views
0

mavenとtestngを使用してappiumでテストケースを実行しているときに、なぜこのようなことが起こっているのかわからないので、このエラーに直面しています。 私はのIntelliJに取り組んでおり、以下のエラーとのpom.xmlファイルElementnotSelectableExceptionを生成するappiumからのテストの実行

Disconnected from the target VM, address: '127.0.0.1:51681', transport: 'socket' 

java.lang.NoClassDefFoundError: org/openqa/selenium/ElementNotSelectableException 

    at org.openqa.selenium.remote.ErrorCodes.<clinit>(ErrorCodes.java:107) 
    at io.appium.java_client.AppiumDriver.<clinit>(AppiumDriver.java:46) 
    at mobileautomation.TestApp.setUp(TestApp.java:30) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) 
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) 
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 
    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.runSequentially(SuiteRunner.java:329) 
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 
    at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
    at org.testng.TestNG.run(TestNG.java:1031) 
    at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72) 
    at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:124) 
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.ElementNotSelectableException 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 26 more 


=============================================== 
Default Suite 
Total tests run: 1, Failures: 1, Skips: 0 
=============================================== 


Process finished with exit code 0 

のpom.xmlファイルです午前:これは、依存関係を持つPOMファイルです :

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.unation.mobileautomation</groupId> 
    <artifactId>UnationMobileAutomation</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <dependencies> 
     <dependency> 
      <groupId>io.appium</groupId> 
      <artifactId>java-client</artifactId> 
      <version>2.1.0</version> 
     </dependency> 


     <dependency> 
      <groupId>jfree</groupId> 
      <artifactId>jfreechart</artifactId> 
      <version>1.0.13</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.xmlgraphics</groupId> 
      <artifactId>fop</artifactId> 
      <version>1.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.avalon.framework</groupId> 
      <artifactId>avalon-framework-api</artifactId> 
      <version>4.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.avalon.framework</groupId> 
      <artifactId>avalon-framework-impl</artifactId> 
      <version>4.3.1</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver --> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-chrome-driver</artifactId> 
      <version>3.0.0-beta4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpcore</artifactId> 
      <version>4.3-alpha1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
      <version>4.3.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient-osgi</artifactId> 
      <version>4.4-beta1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>3.0.0-beta4</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>1.7.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mailapi</artifactId> 
      <version>1.4.3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-email</artifactId> 
      <version>1.3</version> 
     </dependency> 
     <dependency> 
      <groupId>com.lowagie</groupId> 
      <artifactId>itext</artifactId> 
      <version>2.1.7</version> 
     </dependency> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.json</groupId> 
      <artifactId>json</artifactId> 
      <version>20080701</version> 
     </dependency> 
     <dependency> 
      <groupId>io.github.bonigarcia</groupId> 
      <artifactId>webdrivermanager</artifactId> 
      <version>1.0.0</version> 
     </dependency> 
     <!-- To write basic websockets against --> 
     <dependency> 
      <groupId>org.eclipse.jetty.websocket</groupId> 
      <artifactId>websocket-api</artifactId> 
      <version>9.1.0.v20131115</version> 
     </dependency> 
     <!-- To run websockets in embedded server --> 
     <dependency> 
      <groupId>org.eclipse.jetty.websocket</groupId> 
      <artifactId>websocket-server</artifactId> 
      <version>9.1.0.v20131115</version> 
     </dependency> 
     <!-- To run websockets client --> 
     <dependency> 
      <groupId>org.eclipse.jetty.websocket</groupId> 
      <artifactId>websocket-client</artifactId> 
      <version>9.1.0.v20131115</version> 
     </dependency> 
     <dependency> 
      <groupId>com.github.klieber</groupId> 
      <artifactId>phantomjs-maven-plugin</artifactId> 
      <version>0.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>htmlunit-driver</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-support</artifactId> 
      <version>3.0.0-beta2</version> 
     </dependency> 
    </dependencies> 
    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>com.github.detro</groupId> 
       <artifactId>phantomjsdriver</artifactId> 
       <version>1.2.0</version> 
      </dependency> 
      <dependency> 
       <groupId>org.eclipse.jetty.websocket</groupId> 
       <artifactId>websocket-server</artifactId> 
       <version>9.0.0.M0</version> 
      </dependency> 
      <dependency> 
       <groupId>org.seleniumhq.selenium</groupId> 
       <artifactId>selenium-java</artifactId> 
       <version>3.0.0-beta3</version> 
      </dependency> 
      <dependency> 
       <groupId>org.seleniumhq.selenium</groupId> 
       <artifactId>htmlunit-driver</artifactId> 
       <version>2.23</version> 
      </dependency> 

      <dependency> 
       <groupId>org.testng</groupId> 
       <artifactId>testng</artifactId> 
       <version>6.8</version> 
       <scope>test</scope> 
      </dependency> 
      <dependency> 
       <groupId>io.github.bonigarcia</groupId> 
       <artifactId>webdrivermanager</artifactId> 
       <version>1.0.0</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 
</project> 
+0

ファイルがElementNotSelectableExceptionのインポートを完了しましたか?あなたのpom.xmlファイルはどのように見えますか? –

+0

私はそれを見ることができるpom.xmlファイルを追加しました。さらにElementNotSelectableExceptionについて簡単に説明することができます。 –

+0

あなたのスタックトレースを見て、私は "at mobileautomation.TestApp.setUp(TestApp.java:30)"があなたのコードにあることを訂正していますか?もしそうなら、TestAppはElementNotSelectableExceptionをインポートしますか? –

答えて

0

これはほとんど可能性が高いによって引き起こされますベータ版を使用しているため、SeleniumサーバーとPhantom JSの非互換性。

だからあなたpom.xmlファイルに次の行により、たとえば、次の安定にそれをアップグレードしてみてください:

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-java</artifactId> 
    <version>3.5.2</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-chrome-driver</artifactId> 
    <version>3.5.2</version> 
</dependency> 
<dependency> 
    <groupId>com.codeborne</groupId> 
    <artifactId>phantomjsdriver</artifactId> 
    <version>1.3.0</version> 
</dependency> 

次に、このプロジェクトの依存関係ツリーを構築し、表示するmvn dependency:treeを実行します。

参照:org.seleniumhq.selenium at MVN Repository

関連する問題