EGStar是基于工程之星软件功能,模拟用户使用习惯进行功能自动化测试
Python3.7+Appium+Allure
EGStar
├─src
├─allure // 测试报告
├─imager // 测试截图
├─report // 测试报告
└─result // 测试数据
├─cases //测试用例
├─Project // 工程
├─test_NewProject //新建工程
├─test_CreateProject //快速新建工程
├─Settings // 配置
├─ test_project_options.py // 工程设置
├─ test_coordinate_system.py // 坐标系统库
├─ test_rover_setting.py // 移动站设置
├─ test_base_setting.py // 基准站设置
├─ test_static_setting.py // 静态设置
└─ test_advanced_setting.py // 高级设置
├─Survey // 测量
├─ test_Store_Point.py // 点测量
├─ test_Auto_Store.py // 自动测量
├─ test_Cpt_Survey.py // 控制点测量
├─ test_Area_Survey.py // 面积测量
├─ test_PPK_Survey.py // PPK测量
├─ test_Stakeout_Point.py // 点放样
├─ test_Stakeout_Line.py // 直线放样
├─ test_Stakeout_Curve.py // 曲线放样
├─ test_Stakeout_Road.py // 道路放样
├─ test_CAD_Stakeout.py // CAD放样
├─ test_Stakeout_Surface.py // 面放样
├─ test_Powerline_Survey.py // 电力线勘测
└─ test_Cross_Section_Stakeout.py // 塔基断面放样
├─ Input // 输入
├─ test_CoorDinate.py // 坐标管理库
├─ test_RoadDesign .py // 道路设计
├─ test_Transformation.py // 求转换参数
└─ test_Correction.py // 校正向导
├─ Tools // 工具
├─ test_Conversion.py //坐标转换
├─ test_Calculate.py //坐标计算
├─ test_Others.py //其他计算
├─ test_Scan.py //扫一扫
└─ test_Code_Set.py //编码集
├─ conftest.py // conftest文件
├─ pytest.ini //pytest.ini
├─ About // 关于
├─ common // 公有类
├─ unit //工具类
├─ alterDevice.py //修改手簿devices串号
├─ BT_connection.py //蓝牙连接
├─ CompareImage.py //图像对比
├─ ContrastPsic.py //网络串口传输
├─ Ftp.py //ftp工具
├─ get_file_num.py //获取文件夹大小与对比
├─ Get_RGBA.py //获取元素的颜色(用于按钮)
├─ get_screenshot.py //截图,裁剪,删除指定文件夹
├─ get_size.py //获取文件夹大小
├─ OCR.py //图形识文字
├─ popupWindow.py //软件弹框处理工具
├─ SNinfo.py //获取手簿型号
├─ tools.py
├─ config // 配置
├─ driver.py //驱动文件
├─ log // 日志
├─ logs //日志文件夹
└─ Log.py //自定义日志
├─ path // 路径文件夹
├─ all_path.py //路径集合
├─ test // 测试文件夹
├─ TestDates // 测试数据文件夹
├─ 1Atestdata //测试必备数据文件夹
├─ bt //蓝牙测试结果汇总
├─ compareimage //性能测试图片文件夹
├─ screenshotimage //性能测试截图文件夹
├─ standardimage //性能测试标准图文件夹
├─ ocr //ocr截图与识别文本
├─ performance //性能测试结果汇总
├─ run_case.py //批量执行测试用例文件
├─ README.md //项目说明
Pycharm 2021
Python 安装
win+r 输入python
Node.js安装
node -v
Jdk 安装
JAVA_HOME
变量值:D:\Develop\Java\jdk1.8.0_271
%JAVA_HOME%\bin
java -version
Android Sdk 安装
ANDROID_HOME
变量值:D:\Develop\Android\Sdk
%ANDROID_HOME%\platform-tools
,%ANDROID_HOME%\tools
,%ANDROID_HOME%\build-tools
adb version
Appium 安装
前置条件:安装完node.js,并配置完node.js的环境变量
配置国内镜像源npm config set registry https://registry.npm.taobao.org
安装指定版本appium :npm install -g appium@1.20.2
等待安装完成
检查安装:在cmd命令终端输入:appium -v
安装appium-doctor: npm install appium-doctor -g
作用:检查appium环境是否完整
包名 | PiP下载方式 | 备注 | 参数 |
---|---|---|---|
Appium-Python-Client | pip install Appium-Python-Client | Appium客户端 | |
pytest-repeat | pip install pytest-repeat | pytest重复执行用例插件 | |
pytest-rerunfailures | pip install pytest-rerunfailures | pytest执行失败用例插件 | --lf 参数:运行上次失败的用例,如果没有则全部运行 --ff参数:运行全部用例,上次失败的优先运行 |
allure-python | pip install pytest-allure | allure测试报告插件 | pytest中文文档https://www.osgeo.cn/pytest/contents.html |
PaddleOCR是百度开源的一款基于深度学习的ocr识别库,对中文的识别精度相当不错,可以应付绝大多数的文字提取需求。 需要依次安装三个依赖库,安装命令如下,其中shapely库可能会受系统影响安装报错,具体解决方案参考这篇博客:百度OCR(文字识别)服务使用入坑指南
使用方法 | 参数值 | 参数说明 |
---|---|---|
@allure.suite() | 测试套件 | 测试(集),不用报告默认显示py文件名 |
@allure.epic() | epic用例描述 | 敏捷里面的概念,定义史诗,往下是feature |
@allure.feature() | 模块名称 | 功能点的描述,往下是story |
@allure.story() | 用户故事 | 用户故事,往下是title |
@allure.tag() | 测试用例标记 | 用于给用用例打标记 |
@allure.title() | 用例的标题 | 重命名html报告名称 |
@allure.testcase() | 测试用的连接地址 | 对用功能测试i用力系统的case(例如:禅道的测试用例地址) |
@allue.issue() | 缺陷 | 对应用缺陷管理系统里的链接 |
@allure.description() | 用例描述 | 测试用例的描述 |
@allure.step() | 操作步骤 | 测试用例测操作步骤 |
@allure.severity() | 用例等级 | blocker,critical,normal,minor,trivial |
@allure.link() | 链接 | 定义一个链接,在测试报告中展示 |
@allure.attachment() | 附件 | 报告添加附件 |
生成allure原始报告到allure/report目录下,并生成测试报告
pytest --alluredir ./allure-results --clean-alluredir
allure generate ./allure-results -c -o ./allure-report
命令释义:
pytest生成原始报告,里面大多数是一些原始的json数据,加入--clean-alluredir
参数清除allure-results历史数据。
pytest --alluredir allure-results --clean-alluredir
使用generate命令导出HTML报告到新的目录
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。