分享一个埋点自动化框架wqrfproxy

简介: 最近搞了一套埋点自动化框架,虽然第一版不太完美,但是更新还是很效率的。 应用场景:嵌入到任何移动端ui自动化脚本/框架中,可断言手机在执行脚本时发出的请求,包括url和url中的参数和请求体中的参数。

使用方法:

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'
相关文章
|
27天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
81 8
|
1月前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
3天前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
28 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
13天前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
101 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
10天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
103 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
1天前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
31 15
|
2月前
|
Java 测试技术 API
探索软件测试中的自动化框架选择####
在当今快节奏的软件开发周期中,自动化测试已成为确保产品质量与加速产品迭代的关键策略。本文深入剖析了自动化测试的核心价值,对比分析了市场上主流的自动化测试框架,旨在为项目团队提供选型时的考量因素及实践指南,助力高效构建适应未来变化的自动化测试体系。 ####
|
1月前
|
人工智能 自然语言处理 JavaScript
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
Agent-E 是一个基于 AutoGen 代理框架构建的智能自动化系统,专注于浏览器内的自动化操作。它能够执行多种复杂任务,如填写表单、搜索和排序电商产品、定位网页内容等,从而提高在线效率,减少重复劳动。本文将详细介绍 Agent-E 的功能、技术原理以及如何运行该系统。
85 5
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
|
19天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
51 7
|
1月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。