您好!
在做小程序或者小 app 这种接口测试的时候发现维护接口自动化冒烟测试投入确实要少于 UI 自动化测试,接口用例回归执行成功趋势接近 100% 的时候其实也是因为就是接口不怎么变化了,偶尔增加一两个接口读写一些信息,偶尔增加几个参数,很少有把原来的参数废掉或者改名字的情况,API 的特点是这样有时候你多传几个参数过去都不会导致失败。
但是这个时期 UI 经常发生变化,进入这样的时期,手工测试基本每次都是在 app 功能测试上进行回归和测试新功能新 UI,QA 会向上级报告他们的回归进度,上级就觉得回归时间太久了能不能优化效率,这个时候我们有些策略就出来了,既然 API 接口测试这么容易写,这么不容易打破,这么容易维护(不需要操心总盯着怎么有被打破了),就用 API 接口来实现 UI 的流程覆盖和一些场景覆盖吧,(说到这里,我们必须要考虑对比一下简单的应用程序的流程和场景也是十分简单的,但是企业级应用类似有审批流程的,有自定义信息模版和自定义流程的这种应用程序,其流程和场景也是复杂的。)
可是这么做真的有用吗? 我们真的理解我们的测试过程中或者线上缺陷成因分布吗?了解我们前端开发的能力吗?前端在处理复杂的接口处理参数和响应出错吗?前端不会在处理复杂的流程出错吗?
最近对比了一个 Sass 的应用的接口与 UI
#14 楼 @codeskyblue iOS 的也可以嘛?你知道原理嘛,我只知道 appium 是可以得到 source 然后通过 xpath 定位的,三方非开发者签名的是怎么做到的呢?
自己的 app 是需要开发者签名的嘛通过 xpath 去定为元素的嘛?三方的 app 是通过图像识别去定为元素的嘛?
感谢!正在深度使用中。。。提两个增强的 issue:
1.在 1.4.0 版本中当 app 出现异常停止,跳入 android 的 activity 中的时候,是有截图的,这样可以对此类问题进行捕获,但是 1.5.0 中没有此类截图了,详情见 log 和图。
2.接连几个 go back 如果间隔短,不超过 4 秒会使某些支持 back 快捷退出的 app 退出,这块是否可以手工设置间隔时间。
安卓中可以输入这样的符号,所以 appium 解析的时候,把这个解析并显示在 source 中,出错了。见图:
同样的问题。appium1.3.5 可以看到,但是 source 中的中文都会是'???',appium1.3.7 以上 source 中的中文可以正常显示,但是遇到被测试 app 的某 activity 就出现了楼主的问题,怀疑是中文特殊符号导致。英文 mac 系统,android5.0,真机中文三星 galaxynotes 语言中文,被测试 app 中文版。你提到的 uiautomatorviewer 可以看到,如果你的 mac 系统是英文的,你安装的 sdk 后,用这个 uiautomatorviewer 看到的带中文信息的控件也应该显示 ‘???’ 吧?