0

次の問題で困っています。有効な解決策を教えてください。


私が得ているすべてのタッチアクションについて

org.openqa.selenium.WebDriverException: 実装されていないコマンド: session/537d48a9dcdfb38a12ff318a302c9a08/touch/scroll コマンドの実行時間またはタイムアウト: 8 ミリ秒 ビルド情報: バージョン: '2.42.2'、リビジョン: '6a6995d31c7c56c340d6f45a76976d43506cd'-6'-2cc',04 6 10:52:47' システム情報: ホスト: 'Praveen-Prabhus-MacBook-Pro.local'、ip: '192.168.0.42'、os.name: 'Mac OS X'、os.arch: 'x86_64'、os .version: '10.9.4', java.version: '1.7.0_65' セッション ID: bbe122fa-f325-4142-a555-9d2f4ea60e02 ドライバー情報: core.AppiumSwipeableDriver


public class AppiumSwipeableDriver extends AppiumDriver implements HasTouchScreen{ 
 public RemoteTouchScreen touch; 
 public AppiumSwipeableDriver(URL URL, Capabilities Cap) { 
 super(URL, Cap); 
 touch = new RemoteTouchScreen(getExecuteMethod()); 
} 

 @Override 
 public TouchScreen getTouch() { 
 return touch; 
 }
}

if(browser.equalsIgnoreCase("android")){
 DesiredCapabilities capabilities = new DesiredCapabilities();
 capabilities.setCapability(CapabilityType.BROWSER_NAME,"");
 capabilities.setCapability("deviceName","Android");
 capabilities.setCapability("device","Android");
 capabilities.setCapability("takesScreenshot","true");
 capabilities.setCapability("platformName","Android");
 capabilities.setCapability("platformVersion","4.4.2");
 capabilities.setCapability(CapabilityType.PLATFORM,"Mac");
 capabilities.setCapability("appPackage","uk.co.ee.myee");
 capabilities.setCapability("appActivity","uk.co.ee.myee.Launcher");
 capabilities.setCapability("udid","26d7be7b");
 driver = new AppiumSwipeableDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
 touch = new TouchActions(driver);
 Set<String> contextNames = driver.getContextHandles();

 for (String contextName : contextNames) {
     if (contextName.contains("WEBVIEW_uk.co.ee.myee")){
         driver.context(contextName);
     }
   }


    public boolean TopUpRegisteredCard(){
     try{
     waitForVisible(By.xpath(OR.getProperty("wblTopUpWidget")),10);
     driver.findElement(By.xpath(OR.getProperty("wblTopUpWidget"))).click();   
     waitForVisible(By.xpath(OR.getProperty("btnTopUpRegisteredCard")),10);
     driver.findElement(By.xpath(OR.getProperty("btnTopUpRegisteredCard"))).click();
     waitForVisible(By.xpath(OR.getProperty("txtTopUpPaymentAmt")),10);
     driver.findElement(By.xpath(OR.getProperty("txtTopUpPaymentAmt"))).sendKeys("10");
     driver.findElement(By.xpath(OR.getProperty("txtTopUpCVVNum"))).sendKeys("123");
      touch.flick(driver.findElement(By.xpath(OR.getProperty("txtTopUpCVVNum"))),0,-250,1000).perform();
     waitForVisible(By.xpath(OR.getProperty("btnTopUpMakePayment")),10);
     driver.findElement(By.xpath(OR.getProperty("btnTopUpMakePayment"))).click();
     return true;

     }catch(Exception e){
     ReportTest.error(e.getMessage());
     return false;
     }

AppiumDriver - TouchAction も試してみましたが、それは私に与えます

org.openqa.selenium.UnsupportedCommandException: 不明なコマンド: session/9e5f0b55fdfb2c98dd019f44a7bf9c8a/touch/perform

上記と同じスクリプトを Windows マシンで正常に実行しましたが、プロジェクトを MAC に移動したところ、期待どおりに機能しなくなりました。

これを修正するのを手伝ってください

4

1 に答える 1