我被以下问题严重困扰,请帮助我解决问题。
对于我得到的所有触摸动作
org.openqa.selenium.WebDriverException:未实现的命令:session/537d48a9dcdfb38a12ff318a302c9a08/touch/scroll 命令持续时间或超时:8 毫秒 构建信息:版本:'2.42.2',修订:'6a6995d31c7c56c340d6f45a76976d43506-06-06',时间:20-06- 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 并且在它没有按预期运行之后。
请帮我解决这个问题