不行的,捕获 Toast 这个特性就是发布了 UiAutomator2 才有的。
谢谢您的指教,我会在后续对 Appium 和 UiAutomator2 的学习中探索这个问题~
#89 楼 @yefnegjun 在网页上显示桌面上元素的前提下,再次打开目标 APP,然后刷新网页不行么?手机端每次页面变化后,都需要重新刷新网页哦~
app-inspector -u [udid] --verbose
open /usr/local/lib/node_modules/app-inspector/node_modules/webdriveragent/WebDriverAgent
app-inspector -u
就可以看到 mac 上自动打开http://localhost:5678的页面了以上就是我在我的 mac 上解决这个问题的方法,不知道是否也适合你们的情况~
#20 楼 @junewang 十分感谢!可以实现各个方向的滑动了:
int width = driver.manage().window().getSize().getWidth();
int height = driver.manage().window().getSize().getHeight();
driver.swipe(width/2, 200, 0, 200, 2000);//向下划动
driver.swipe(width/2, height*2/3, width/2, -1* height/3, 2000);//向上划动
driver.swipe(width * 3 / 4, 100, -1* width / 4, 0, 1000);//向左滑动
#19 楼 @dzn
#18 楼 @addison
我当时是按照Appium 1.6 ios 无缝升级 里的步骤升级到 Appium 1.6 的~
#16 楼 @run_ice_l AppiumDriver 里的 swipe 方法封装的就是 touch action 啊
/**
* @see TouchShortcuts#swipe(int, int, int, int, int)
*/
@Override
public void swipe(int startx, int starty, int endx, int endy, int duration) {
TouchAction touchAction = new TouchAction(this);
// appium converts press-wait-moveto-release to a swipe action
touchAction.press(startx, starty).waitAction(duration)
.moveTo(endx, endy).release();
touchAction.perform();
}
直接使用 swipe 也是遇到同样的问题哦~
#13 楼 @fangdatong 链接里的说法就是一楼提供的解决方法,试过了,还是不可以的
#3 楼 @seveniruby 已经调整格式了,但是问题还没有解决啊~~请问你现在是怎么处理滑动事件的呢
#1 楼 @run_ice_l 谢谢,原来我一直都用错了
TouchAction mySwipe1= new TouchAction(driver)
.press(200, 480)
.waitAction(2000)
.moveTo(-100, 0)
.release();
mySwipe1.perform();//左划
将代码该成相对坐标后执行界面上反倒没有任何滑动的迹象了。。能帮忙再看一下哪里还有问题么?
运行日志:
[MJSONWP] Calling AppiumDriver.performTouch() with args: [[{"action":"press","option...
[debug] [XCUITest] Executing command 'performTouch'
[JSONWP Proxy] Proxying [POST /uiaTarget/0/dragfromtoforduration] to [POST http://localhost:8100/session/C196489D-6894-4A0D-B8A9-D4589AFF8FB9/uiaTarget/0/dragfromtoforduration] with body: {"fromX":200,"fromY":480,"toX":100,"toY":480,"duration":1}
#1 楼 @run_ice_l 谢谢,我试一下~