使用方法:
1. 下载
pip install wqrfproxy
2. 下载依赖包
pip install mitmproxy
3. 使用
(1)脚本中先引入 from wqrfproxy import *
(2)调用启动服务方法 start_wqrfproxy(port,cert)
port为端口号,不写就默认8000,cert为本地客户端地址绝对路径,不写就不加。
(3)书写ui自动化脚本/或时间等待你手动操作手机
(4)写断言,因断言会触发异常,所以可以用try来捕获
try : assert_proxy(url,content)
except Exception as e:print(e)
其中url 为要锁定的url,必须是http/https开头,且若url带参数,只能填写?前面不带参数的部分哦~
其中content 为要断言的字符串,目前本框架只支持在url的参数和请求体中查询这个字符串是否存在,不存在会触发异常~
(5)调用关闭服务方法 stop_wqrfproxy()
(6)手机挂上代理 ,本机ip:8000
(7)执行脚本,注意看控制台输出的中英文提示
(8)执行后会自动打开一个抓包记录显示的页面,可无视关掉,或进行检查请求
(9)断言成功会打印中英文成功文案,失败会触发异常并输出中英文错误文案(找不到url或找到url但找不到预期字符串)
4. 环境:
目前仅支持python3 和 mac/linux 环境。windows和python2支持请关注后续更新
5. 普通线性脚本demo
# -*- coding:utf-8 -*- import time from wqrfproxy import * start_wqrfproxy() #启动服务 time.sleep(30) #这行可以替换成实际的ui自动化脚本了 try: #断言该url的请求参数中是否含有'埋点关键字' assert_proxy('http://xx.xxx.com/xx','埋点关键字') except Exception as e: print(e) #打印出现的错误 stop_wqrfproxy() #最好关闭服务
6.在unittest中使用demo
# -*- coding:utf-8 -*- import unittest from wqrfproxy import * class Test(unittest.TestCase): @classmethod def setUpClass(cls): start_wqrfproxy() #书写启动服务函数 @classmethod def tearDown(self): stop_wqrfproxy() #书写关闭服务函数 def test_1(self): driver.find_element_by_id('').click() #实际ui自动化脚本 #断言url的url参数和请求体中是否含有userId这个埋点关键字 assert_proxy('http://***.***.com/***/***','userId'