赞, 写的很详细..
看来这一路都是各种坑啊. espresso 也是我的下一步的研究目标.
安装这么多的版本的 sdk 貌似也没必要, 可以从配置文件中删除不必要的依赖.
对于 android 下的 uiautomator, instrumention 和 espresso, 这三者底层到底用的是什么技术, 我还没完全搞清楚.
我还在一点点的阅读 android 的代码,
#23 楼 @shery_zhang2012 从错误信息上看, http://localhost:4723/wd/hub 访问出错, 你可以自己手工用浏览器打开试试.看看有没有结果.
File "appium-0.11.3\appium-0.11.3\sample-code\examples\python\android_contacts
.py", line 17, in
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
android
adb
nodejs
npm
webdriver
最好看看国外的 ppt 演示
论坛之前的帖子里面, 也有相关的 ppt
#11 楼 @shery_zhang2012 慢慢来, 不止是这个工具, android 的测试工具都有类似的复杂问题, 小白入门不易, 需要不断摸索, 先提前系统的学习下部分的知识吧, 比如没有这个工具, 如何识别虚拟机和手机的连接, 以及他们的机制等. 我也是买了好几本书学 android
国内对于 android 测试的框架研究还不错, 百度基本没戏, google 还好些.
你得先充电下对应的知识, adb selenium remote webdirver
@lihuazhang 看来做视频也是必要的,呵呵
需要明确你点击的对象, 当 div 中不只是连接的时候, 有可能会点击到连接外的某个像素点上. 精确定位到自己要点击的对象才行. 比如某个 button, link 等
上面说的是与 remote webdriver 的通讯出错, 只能排查了. 可以简单加个等待试试.
实在不行就使用 java 进行 debug 了
#4 楼 @mingway_hu
虽然没有看过这书, 但是在测试圈就难免会被其他看过书的人和公司影响.
有些他们实践出的理论是润物细无声的, 不知不觉就会被影响.
目前还没有呈现出测试模式的多样性, 都是朝着先驱的方向追赶. 自己探索出的还是挺少的
我也正要拜读 他目前的模式已经广被互联网公司应用
欢迎 欢迎
理论上是不需要 sudo 的 可以看看相应的权限设置
我认领 android-hax-emulator.cn.md, 已经翻译完成了. 貌似剩下的文档不多了
对于 merge 的约定, 我说下吧
因为 testerhome clone 了 appium, 难免会出现更新落后的情况.
所以建议大家还是从官方 appium 直接 pull 文件, 翻译或者修改完成后,再提交到 testerhome
testerhome 这个账号用来合并大家的修改, 并 merge 到官方.
举个例子
首先 fork testerhome 的代码到自己的 github 的库中, 然后再 clone 到本地
然后设置
git remote add appium git@github.com:appium/appium.git
git remote add testerhome git@github.com:testerhome/appium.git
翻译的文章统一放在 docs/cn 目录下, 暂时命名为 xxx.cn.md
如果需要更新代码, 通过 appium 来更新, 这样会同步官方的最新代码,
git pull appium master
如果想及时了解 testerhome 的变更, 获得他人翻译并 merge 到 testerhome 的文档, 就可以通过如下命令
git pull testerhome master
修改完成后 commit 自己的修改并 push, 然后发起 pull request 到 testerhome
testerhome 会合并大家的修改到官方的 appium
为了让代码量更小, 我们会对大家的 commit 做归并, 编程一次 commit, 然后发起 pull request 给 appium 官方
呵呵, 我看了 appium 的 appiumbootstrap.jar 的写法, 感觉可以直接发请求到 android 的端口上来模拟操作. 这样就省去了 appium server
uiautomator 和插桩体系, 是完全不同的两套体系.
不过他们的底层到底是如何实现的, 我还没搞明白.
他是如何定位到 android 上的某个控件的, 是动态调用, 反射. 是否所有的控件都有一个类似微软那样的访问接口.
以及 appium 是否可以移植到所有的 android 版本上.
#9 楼 @bj_bug_hunter 你可先打印下当前的 driver.page_source 看看, 当时的布局可能也分层的. 有的时候会有一层类似模式框的东西在最上层. 需要动态查找
#6 楼 @monkey 算啦, 先这样就行了. 保证整体没问题.
@lihuazhang
本周大家审阅下各自的翻译, 然后创建 cn, 先搞一波 pull request 试试.
#3 楼 @lihuazhang 你的意思是最后再创建 cn 对吧. 我感觉可以先创建, 然后把文档放进去.
我们先发起 pull request 给官方, 一部分发上去也行.
毕竟这是代码, 不是什么网站.
而且这样也可以提前验证官方的说法. 不然这中间再有其他人 pull request, 我们还得 merge 人家的, 就麻烦了.
另外, 我们是否要在 doc 下新建 cn 了? 以后的文档都放到这个目录下?
元素定位翻译完成
@monkey @lihuazhang
元素定位我用的很多, 下周的时候, 我再给官方提交一些测试用例吧,
他们的测试用例还是不够全.
对于一些地方, 比如
官方文档这么写, 不知道是什么用意, 我没做翻译.