Appium appium 跑自动化时,能否监听到后台接口?

黑山老妖 · 2018年12月11日 · 最后由 黑山老妖 回复于 2020年05月26日 · 5021 次阅读

比如页面触发点击事件,有没有现成的方法获取后台接口请求响应?

有这么一个答题的小程序
当前页面 A 点击,答题成功后,会跳到下一个 B 页面,且后台会请求一个接口,该接口的 response 中包含 B 页面题目的答案。题目排序是无需的,如果实施自动化,只能监控接口,获得答案。

所以 appium 有没有这么个功能呢,求助!

共收到 11 条回复 时间 点赞

那叫接口测试,不是 ui

0x88 #1 回复

我要跑的就是 Ui。UI 的下一步要点击哪个元素,可以通过监听接口获取 response 的某个值,来确定。

用 mitmproxy 代理抓去数据

peter #3 回复

是 mitmproxy 抓数据,appium 脚本里去获取数据,类似于 appium 爬虫那样么?

系统安全性有问题,见过不少这样的,一边抓包一边做题。

通过 anyproxy 抓取 response 放在本地,然后 appium 运行下一步的前 解析这个 response 结果。

您好,请问您的问题解决了吗?我想要做相同的事情,您可以给我一写指导吗?

mengwenjing #7 回复

目前想到的就是利用抓包工具。点击 app 时,抓包获得数据写入 log,然后代码里读 log 取出你想要的值。说白了,就是代码模拟人的操作。

mengwenjing #7 回复

还有种,就是如果你的后端接口是有规律的,比如下个接口请求的参数或者 url 部分字段,是取自上个接口的,那你只要知道第一个接口,后续的接口就可以自动推算出来了,就不需要抓包了。

您好,您的问题解决了么,我最近在搭环境做 UI 自动化,想通过 proxy 去拿到接口数据,和前端展示做检验

SimpsonH #10 回复

我是·换了种思路,下单后直接掉用相关接口去看页面点击的结果。用 proxy 不太现实,因为如果只是跑单台机器还好,多机器并行就不醒来。除非用类似 adb 之类获取 app 请求数据

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