个人愚见, # 问题 2 的情况假如一个业务是由多个接口来实现的,需要对单个接口做接口测试还要多个接口串起来做自动化测试。 比如购买会员或者下单这种业务。
迷惑行为??
看提示, 应该是缺 requests 库
赞一个
#12 楼 @a372681763 你已经跑过了吗 我写了一个是可以实现你的需求的 永远只拖文件夹后的一个 app
UiObject uiObject = new UiObject(new UiSelector().className("android.view.View").instance(3));
int count = uiObject.getChildCount();
for(int i = 0; i < count; i ++) {
if(i == 0) {
uiObj = uiObject.getChild(new UiSelector().index(i));
r = uiObj.getBounds();
} else {
uiObj = uiObject.getChild(new UiSelector().index(1));
}
if(i != 0 && uiObj.exists()) {
uiObj.dragTo(r.centerX(), r.centerY(), 40);
sleep(1000);
}
}
界面是这样子的
#9 楼 @a372681763 因为你三个应用中第一个应用被拖走之后 childCount 变成了 2, 你这时想把第二个应用拖走, 然后你执行 UiObject obj = ob.getChild(new UiSelector().index(2)); 其实这时 index 为 2 的应用是第三个应用了,所以第二个就遍历不到了。你把你代码中的 UiObject obj = ob.getChild(new UiSelector().index(i)); 在 i!=0 时修改成 UiObject obj = ob.getChild(new UiSelector().index(1)); 就可以了。这样每次拖的就是文件夹后紧跟的那个应用
#3 楼 @a372681763 啥意思? 是你想拖动三个 object, 然后放到 for 循环里面。但是实际上却只给你拖动了两个吗?
#3 楼 @a372681763 问题解决了! 谢谢啊~
#8 楼 @herointhemirror 你看还是 top+200 吗 我 5 天前已经改成了 top+50 了啊
#1 楼 @herointhemirror 但是有个问题 你看啊 我第二个按摩店的所在的 LinearLayout 的 top 是 105 啊. 就算跟里面的 TextView 有高度差. 也不应该像得到的 (top + 50) = 75 啊. 这样看的话 top 的值就是 25 了
懂了 所以 Window 里面装着的是 ViewGroup
博主知不知道怎么在 linux 下获得设备的 udid, 表示在 linux 下使用 adb devices -l 得到的那一串标志在执行 appium 的时候会有提示"Non-default server args: {"udid":"c0fdc417"}"