Appium 各位在做 UI 自动化测试,有去校验前端请求接口时的传参吗?

黑山老妖 · 2020年01月15日 · 最后由 陈恒捷 回复于 2020年02月26日 · 3150 次阅读

看圈子里,做 Ui 自动化的,对界面元素做断言的居多,根据一个 case 结束后页面的某个元素或者 toast,做断言,判断功能是否有问题。
但是有时候,UI 传参数错误,界面上根本没法判断的。
我这里很频繁遇到这种情况。
如果需要对 UI 传参数进行校验,有大佬做过这样的尝试嘛
求指教。

共收到 15 条回复 时间 点赞

UI 传参我觉得必须得用侵入式的框架来做了,比如安卓的 espresso 或者 robotium,应该可以获取页面切换之间的数据交换,理论上支持,未做过尝试

有办法,无论是 app 或者 pc,都可以通过获取 UI 与后台的 http 接口消息,来检查

哪儿有响声断言哪儿

如果对 UI 传参做校验,不如做接口自动化

cmlanche 回复

好的,回头去研究下 espresso

远方星辰 回复

什么办法,希望是 ios 和 android 都支持

Ouroboros 回复

现在我是没办法去获取到那个响声😢

活着丶 回复

和接口自动化没关系啊。接口是对的,前端传错了。比如一个下单接口,有买卖 2 个方向,UI 把买单传成卖单,出问题了接口不背这个锅啊

这个问题 应该是客户端打点(埋点)测试吧~ 需要出这样的 case 然后在执行自动化的时候 用代理工具把请求抓到本地 做校验就 ok 了

活着丶 回复

接口自动化测的是接口 ,楼主的问题是 前端传参的校验,比如接口 要求 a 字段传数字,接口测试 “0,1,2,3.。。。” 怎么测都没毛病,结果前端传的汉字。。

不同的传参,得到的结果应该是不同的吧,你去捕捉这样的元素,去判断就好了吧,具体还得看是什么样的交互

匿名 #12 · 2020年01月19日

跑 UI 自动化的时候,通过代理服务器的方式是可以的

UI 传参报错,页面无感知?为什么接口不报错?难道接口也没检验参数嘛?。
个人感觉楼主与其自己琢磨怎么检验,不如要求开发报错弹窗,你来捕获进行断言。

johngao 回复

骂前端,不按接口文档传参

但是有时候,UI 传参数错误,界面上根本没法判断的。

如果是严重到影响流程的错误,应该服务端直接返回错误,前端界面对这种错误进行提示(如服务器异常之类的)。
如果不是严重到影响流程的,可以让前端在网络工具库里给所有发出的请求加日志,去捕获前端发的请求内容。

不过正如前面有同学提到的,这种很基础的问题(个人觉得,和写文章经常写错别字差不多级别)如果经常出现,与其想办法在自动化里增强发现能力,不如想办法怎么去预防问题。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册