@shimazakiharuka 确定 apk 安装成功的前提下,你可以再 driver.sendKeyEvent(4) 前面加个 thread.sleep(5000); 试试看
@shimazakiharuka 你要的这些方法是 java-client.jar 的,他扩展了一些操作
el = driver.find_element_by_id("editText") 这个 ID 你不能看源码里的 ID 的,这个 id 跟源码里对应的是 content_des
其实直接用 findElementById() 也 OK 的
@tom_ma 你可以试试 @liuxiangyu 的方法 把 duration 设置到 200 以上试试先
+10086 个赞
Just passing by
@blue_momo2009 这个跟你用什么没有关系啊,的你 driver 实例是哪个?
duration = 200 毫秒比较理想 小于 60 会抛异常
升级是使用 npm update appium 么
楼上 @seveniruby 正解,最后一个参数大于 60 可以保证不抛异常,但不能保证效果。我的一个场景里有一个 4 个图像对象的 HORIZONTALSCROLL 对象,我本来计划从第 4 个对象的位置滑动到第一个对象的位置。结果跑 10 次 10 个滑动效果。最后决定一次只滑动一个对象间距。效果还可以。以下是代码:
WebElement e0 = getElementsByClassAndIndex(AndroidClassName.HORIZONTALSCROLL, 1).get(0);
List e1 = e0.findElements(By.className(AndroidClassName.IMAGEVIEW));
TouchAction act = new TouchAction(driver);
Point p0 = getCenterPoint(e1.get(3));// 自己写的获取元素中心点的方法。
Point p1 = getCenterPoint(e1.get(2));
driver.swipe(p0.x, p0.y, p1.x, p1.y, 200);
java 代码可以用 :driver.findElementById("com.mm.android.direct.gdmssphone:id/"+id);其中 id 为代码里的 idname,如二楼就是 selectprotocol_appName
@seveniruby 亲, 在设备设置为 utf7 之后, 无法人工在该设备上进行输入操作。 求升级
@seveniruby 实际操作中 index 不能唯一定位一个对象啊,比如一个页面有 N 个 ImageView 对象,他们的 index 有几个是 0,有几个是 1,有几个是 2,有的能点击有的不能点击,那我就根据这些条件去筛选呀
你用的什么版本啊,1.0 在 android4.2.2 上可以用 By.Name() 定位到哦
火钳刘明
swipe 现在效果有待改善啊,移动的目标跟设定的坐标有比较大的出入
@vigossjjj 如何去获取目视窗口之外的元素呢?
你怎么会有 2 个设备在呢 这样的话你要么启动 appium 的时候指定设备 要么就连一个设备