补充录屏 + 录音版的视频地址:http://pan.baidu.com/s/1bpmfwzt
关于 iOS UI 自动化测试,来看下 TMQ 的这篇文章。
看完了 TMQ 的文章,确实不错。
#4 楼 @stephen753 我觉得其实最终还是投入产出比的问题吧。
另外,我觉得 @quqing 的这个方式成本有点高,毕竟原来一条 UI 自动化用例能完成的事情,现在变成 UI + 接口 + db ,而且覆盖度其实还是和 UI 的一致(例如接口中 request 缺少某些字段时服务端的处理,如果是在 UI 操作的话不一定能覆盖到)。对于这种情况我比较偏向于用 stub(挡板)的方式。
举个例子:
UI 的,不和服务器耦合,而是直接拦截它的请求,然后直接给对应的返回。因为这里我们关注的点在于 UI 的逻辑层,即界面操作最终的输出(request)是否正确,以及界面对于服务器响应数据的展现是否正确。
接口的,就是单独的接口测试了。当然接口测试最好还是能直接触及到数据库,确认接口的逻辑是否正确,也方便多用例时用例间的相互影响。
个人理解,分层覆盖的意思不仅仅是说不同层级之间用例的比例,关键点是每一层有自己单独的测试,也有合起来的系统测试。而且很明显的,系统测试的覆盖度会不如每一层自己的单独测试。
至于覆盖度的衡量,在没有很好的方法的情况下,我觉得代码覆盖率是一个不错的参考指标。
以上是一些个人观点,大家有不同意见也可提出~
关键 log :
info: [debug] [BOOTSTRAP] [debug] Attempting to clear using UiObject.clearText().
info: [debug] Didn't get a new command in 30 secs, shutting down...
info: Shutting down appium session
info: [debug] Pressing the HOME button
进行 clearText 的时候卡住了,但也没什么错误提示。。。
建议你先试试换台设备,看还有没有问题。有可能是设备本身的问题。clearText 在界面上表现应该是长按输入框,全选所有内容,然后直接删除。
PS:你的 xpath 有点奇怪,第一次见 contains(@index,5)
这种语法,一般都是直接 @index=5
或者直接就是 EditText[5]
。
#2 楼 @greenplum 那为什么加了之后会更稳定?主要是不明白这点。
赞,都是一些比较实用的东西。
另外,想问下 --tmp 是个什么参数?能说明一下吗?
好消息,WebDriverAgent 终于准备修改它不符合 WebDriver Spec 的部分了:https://github.com/facebook/WebDriverAgent/issues/179
说得挺详细,赞~
问个初级问题,你们现在是每次提交都全量单测吗?还是根据 diff 只跑变更部分?
能给个运行日志和控件树信息么。。。
完全不知道你的 app 是啥情况。。。
额,太精练了,加点详细信息?
#9 楼 @lihuazhang 具体达到多少元素的时候就会废了?
#4 楼 @seveniruby 是啊,真心不明白它为啥要搞成 json 。。。
#3 楼 @longmazhanfeng 好吧。我觉得这叫做一个库(Library)更合适?
能说下相比官方的 Selenium2Library ,增加或优化了哪些方法吗?
我觉得底层覆盖度高的话,上层不需要全覆盖,覆盖其中一个就好了。
例如你提到的三个类型的用户,如果在接口层面都是一样的逻辑,只是用户类型这个字段不一样,那就 API 覆盖三个类型,UI 只覆盖一个类型就够了。
标题/正文描述不清不楚;
提问前请看 提问须知
建议直接用 genymotion 之类的手机模拟器来做吧,chrome 这个模拟功能主要用于开发调试,做测试不靠谱。
查看你的 .app 文件,看里面有没有 embedded.mobileprovision
文件。如果有,那这是给真机打的包,不能在模拟器上使用。