2017-11-27 13 views
0

私はAndroidアプリを開発中で、driver.presskeycodeコマンドは私のMavenプロジェクトで利用できません。Appium Androidドライバ.presskeycodeオプションはMaven Projectで利用できません

スタンドアロンJavaプロジェクトで同じコードを使用して、driver.pressKeyCode(AndroidKeyCode)コマンドを実行できました。

Mavenの依存関係

<dependencies> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.11</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>io.appium</groupId> 
      <artifactId>java-client</artifactId> 
      <version>5.0.3</version> 

     </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>3.4.0</version> 
    </dependency> 

</dependencies> 

スタンドアロンのJavaプロジェクトのjarファイル

セレンのJava 3.4。

Appium Javaクライアント5.0.3

Appiumバージョンv1.6.5

答えて

0

それは可能なのですが、唯一のAndroidDriverのインスタンスのために。あなたはdriver最初にキャストする必要があります。

import io.appium.java_client.AppiumDriver; 
import io.appium.java_client.android.AndroidDriver; 
import io.appium.java_client.android.AndroidKeyCode; 

private AppiumDriver driver; 
... 
AndroidDriver dr = (AndroidDriver) driver; 
dr.pressKeyCode(AndroidKeyCode.BACK); 

あなたは、Androidのためにテストを実行した場合、それはappiumセッションの作成にAndroidDriverのインスタンスを作成することは理にかなっています。たとえば

AndroidDriver driver = new AppiumDriver(url, capabilities) 

がチェックjava-client tests

+0

私はAndroidドライバのインスタンスを作成します。下記参照: – vipin

+0

AndroidDriver ドライバ; @BeforeMethod公共ボイドbeforeMethodは、()でMalformedURLException { \t \t DesiredCapabilitiesキャップ=新しいDesiredCapabilities()を投げます。 \t cap.setCapability(MobileCapabilityType.DEVICE_NAME、 "Android device"); cap.setCapability(MobileCapabilityType.APP、 "C:\\ Users \\ Vipin.Malhotra \\ Desktop \\ Rogers \\ src \\ MyRogers_com.fivemobile.myaccount.apk"); ドライバ=新しいAndroidDriver <>(新しいURL( "http://127.0.0.1:4723/wd/hub")、cap); driver.manage()。timeouts()。implicitlyWait(20000、TimeUnit.MILLISECONDS); } – vipin

+0

どのようなプロジェクト構造ですか?上記のコードからうまくいくはずです。とにかく私は公式のJavaクライアントの例へのリンクを添付しました。 – dmle

関連する問題