如果自己没有什么好的想法,建议用 selenium 推荐的 pageObject 模式来写用例,可维护性比较强。
参考链接:http://selenium-python.readthedocs.org/en/latest/page-objects.html
appium 中 webview context 对应的是 webview 的 chrome 内核 这个进程(它是通过抓取进程数据来检查有没有 webview 的)。个人觉得应该不会你一按返回键切换回 native 界面这个进程就马上消失,而是 webview 暂时存在缓存中,直到内存不够用或者应用被关掉。
你可以试验一下,看返回 native 界面后 chrome 内核的进程是不是还在,或者立即回去 webview 界面是重新加载还是马上就出现了。
#29 楼 @happystone 这个可以有。不过木有专业设备,准备用数码相机凑合一下。。。
试了下,www.testerhome.com 也不行,统一用 https://testerhome.com 访问吧。
#19 楼 @tongshanshanshan 继续加油!以后多点过来 Testerhome 交流, sharing codes show cool !
赞一个!
这么短时间能做到这个程度很不错了,框架的层次基本已经出来了。
下面是一些个人的建议:
接下来是个人代码洁癖给出的吐槽,不想打击你,但忍不住要吐下槽:
with open(path, mode) as f
来打开文件。赞同这个:
眼界放出去,不要局限于计算机互联网。我们这一群人,视角太窄,看不出去。
接下来 2 年要扩展视野了。
#1 楼 @missgong0 既然你查到了这方面的资料,要不顺便把它们汇总一下发个帖子?
#8 楼 @gaopeng1106 畅聊群里有个叫小白的在微信,你可以反馈下给他。
#21 楼 @lihuazhang 这个可以有。我先找下有没有可以合作的,否则就只能拿手机上了。。。
#9 楼 @tagore_shao 我觉得最有成就感的是不仅发现了 bug ,而且还找到了修复的方法。我相信开发也更愿意和这样的测试合作。
大家一起加油啊!
不错,很棒的 gui 工具!
PS: testerhome 拼错了,少了 er
#8 楼 @carl
#9 楼 @weamylady 你们赶紧发啊。。。没多少天了。。。
不错~
无论是哪个流,最终都是靠 type=file 的 input 标签去传递的这个文件的内容的。
赞!
赞!
找到原因了,appium 的 moteTo 在 android 的实现是当传入的是纯坐标时,把坐标值认为是 offset。
相关代码在 https://github.com/appium/appium/blob/74c4ec1a20c1f20cd2ef0b821d314b02957c82bb/lib/devices/android/android-controller.js 中的 androidController.parseTouch
方法。
关键代码:
...
// expects absolute coordinates, so we need to save these as offsets
// and then translate when everything is done
options.offset = true;
options.x = (gesture.options.x || 0);
options.y = (gesture.options.y || 0);
touchStateObject = {
action: gesture.action,
options: options,
timeOffset: 0.005,
};
touchStateObjects.push(touchStateObject);
done();
...
if (state.options.offset && prevPos) {
// the current position is an offset
state.options.x += prevPos.x;
state.options.y += prevPos.y;
}
...
解决方案是给 moveTo 传入 element 对象(你帖子正文的例子里就可以这么用),而不是传入坐标值。
PS:Java-client 的方法说明里有提到这个:
https://github.com/appium/java-client/commit/d7874ca6b93f3e72f612402beea61964033ce9fe#diff-970f723bf2aa8111d5817a3de004cc13
#15 楼 @face_south 。。。下次有机会再来哈。