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

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

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

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

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

共收到 11 条回复 时间 点赞

那叫接口测试,不是 ui

0x88 回复

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

用 mitmproxy 代理抓去数据

peter 回复

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

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

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

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

mengwenjing 回复

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

mengwenjing 回复

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

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

SimpsonH 回复

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

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