在Appium Android Webview中无法使用滑动功能

时间:2015-11-24 10:28:36

标签: java android selenium webview appium

我使用以下代码在网页视图上滑动

 driver.findElement(By.xpath("//*[@id=\"mainSec\"]/section/div[2]/div/div[2]/div/input[1]")).sendKeys(username);

 driver.findElement(By.xpath("//*[@id=\"mainSec\"]/section/div[2]/div/div[2]/div/input[2]")).sendKeys(password);
 driver.findElement(By.xpath("//*[@id=\"mainSec\"]/section/div[2]/div/div[3]/button")).click();
 Thread.sleep(20000);
 driver.swipe(944, 1100, 110, 1100, 2000);

低于错误

在Appium服务器上

> info: --> POST /wd/hub/session/71ff38f1-3e77-44ef-b4af-d2ab69970112                        
 /touch/perform {"actions":[{"action":"press","options": {"x":944,"y":1100}},{"action":"wait","options":{"ms":2000}},{"action":"moveTo","options":{"x":110,"y":1100}},{"action":"release","options":{}}]}
> info: JSONWP Proxy: Proxying [POST /wd/hub/session/71ff38f1-3e77-44ef-b4af-d2ab69970112/touch/perform] to [POST http://127.0.0.1:9515/wd/hub/session/9effe9253998eaad03f14d1cc5ef148c/touch/perform] with body: {"actions":[{"action":"press","options":{"x":944,"y":1100}},{"action":"wait","options":{"ms":2000}},{"action":"moveTo","options":{"x":110,"y":1100}},{"action":"release","options":{}}]}
> info: JSONWP Proxy: Got response with status 404: unknown command: session/9effe9253998eaad03f14d1cc5ef148c/touch/perform

关于Eclipse TestNG

 org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
 Build info: version: '2.46.0', revision: '87c69e2', time: '2015-06-04 16:16:47'
 System info: host: 'IN2084073W1', ip: '10.165.162.203', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_21'
 Driver info: driver.version: AppiumDriver

2 个答案:

答案 0 :(得分:1)

使用TouchAction类执行滑动。像这样:

TouchAction action = new TouchAction(driver).longPress(longPress).moveTo(moveTo).release();
action.perform();

答案 1 :(得分:0)

可以将上下文切换为本机,例如

driver.context("NATIVE_APP");

然后,滑动可以工作,如

driver.swipe(500, 1600, 500, 600, 1000);