自动化工具 用 anyproxy 记录移动端 UI 测试数据

向阳 · September 27, 2017 · Last by 向阳 replied at September 28, 2017 · 2030 hits

背景

移动端UI自动化测试的时候,有时候不容易找到具体的fail原因,为了方便在查看failed case的错误原因,选用anyproxy来保存测试过程中抓到的接口数据内容。

实践

安装anyproxy,证书等等,看官网
用anyproxy的过滤规则来保存接口数据内容,保存接口数据的过滤规则js:

/*
保存接口数据内容
*/

var fs = require("fs");
var moment = require("moment");
var dateTime = moment().format("YYYY_MM_DD_HH_mm_ss")
var path = "/******/log";
var log = path + "/" + dateTime + "_interfaceLog.log";
console.log(log);

module.exports = {
*beforeSendResponse(requestDetail, responseDetail){

const newRequest = requestDetail.requestData;
const newResponse = responseDetail.response.body;
console.info(newResponse);

fs.appendFileSync(log, new Date().toLocaleString() + " \nurl: " + requestDetail.url + "\n", 'utf-8', function (err) {
if (err) throw err;
console.log('url is saved!');
});
fs.appendFileSync(log, "request:" + newRequest + "\n ",'utf-8', function (err) {
if (err) throw err;
console.log('requestData is saved!');
});
fs.appendFileSync(log, "response:" + newResponse + "\n", 'utf-8', function (err) {
if (err) throw err;
console.log('responseData is saved!');
});

}
};


保存的log文件数据内容,数据很清晰,查问题也方便:

后记

保存接口数据的同时也可以通过过滤规则mock接口数据辅助UI测试异常场景;再通过docker启动多个转发端口代理服务,解决多设备同时执行测试的代理服务。
感谢anyproxy团队!
翻了翻社区有关改造anyproxy的帖子不敢再下笔了。。社区很赞,社区很强大!
借助 anyproxy 二次开发,改善统计打点日志测试流程
基于 Anyproxy 的 Mock 服务器设计优化升级
改造 Anyproxy 录制生成 postman 测试用例及 fuzz

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞

还应该再细致点 点击按钮的时候抓到这个操作的请求

@seveniruby 嗯好 我抽空再好好整理整理。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up