1.为什么要搞这种东西?
1.测试资源不够 ,没有时间测试iOS的需求
2.因为平时测试的不多, 所以对上报等问题总是漏测
3.会有一些改动, 会影响之前的一些上报逻辑
4.想自己跑一边所有的上报逻辑, 展示上报, 点击上报, trace上报等
2.为什么选择了Golang?
1.以前用python写过自动化的iOS app安装, 脱壳,打开,卸载等操作,想试试其他的方法.
2.考虑并尝试了privoxy , anyproxy ,对https的代理返回等都不够友好,花了很多时间没弄好,anyproxy有些https抓不到, 也不知道什么原因, 但是挺好写
3.同事跟我说要不试试golang, 看了下, 感觉可以符合需求, 还能学习新的知识点
安排
3.大致思路
1.因为我要测试的是SDK , 只需要写简单的UI, 自动的调用接口就可以
2.基于appium的自动脚本, 自动点击界面
3.发送请求到golang写的http/https代理服务器, 拿到请求, 判断请求,返回mock的假数据(和charles的localmap功能一样),https的比较复杂, 会单开章节
4.在返回数据的同时, 把mock的数据转成map, 拿到里面包着的imp, clk, 等需要上报的内容
5.将代理服务器拿到的请求上报收集, 然后和上一步提前拿到的原始内容比对, 哪些上报了, 哪些没报
6.之后还可以将展示出的view进行截图,做图片比对, 因为是广告view, 同样的物料出的广告一定是一样的
网友评论