5 Star 3 Fork 0

陈三页 / EGStar

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

EGStar自动化框架简介

介绍

EGStar是基于工程之星软件功能,模拟用户使用习惯进行功能自动化测试

主要功能

  1. 用例执行失败自动截图,手机错误日志信息,自动添加到测试报告对应的case下
  2. 批量运行测试用例

软件架构

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 //项目说明

安装教程

开发环境

  • win10
  • Pycharm 2021
  • Python 3.7.0
  • Node.js V12.16.3
  • Appium 1.12.2
  • Java 1.8.0_271
  • Android SDK 30.0.2

环境部署

  • Pycharm 2021

    • 有问题找度娘
  • Python 安装

    • 点击下载安装包
    • 根据项目使用的python版本进行下载,打开根据安装提示安装即可,不会请自行度娘
    • 检测环境:win+r 输入python
  • Node.js安装

    • 点击下载安装包
    • 根据项目使用的node版本进行下载,打开根据安装提示安装即可,不会请自行度娘
    • 检测环境: cmd命令终端输入:node -v
  • Jdk 安装

    • 点击下载安装包
    • 根据项目使用的jdk版本进行下载,打开根据安装提示安装即可,不会请自行度娘
    • 配置环境变量:
      • 系统变量,新建环境变量,变量名:JAVA_HOME变量值:D:\Develop\Java\jdk1.8.0_271
      • Path下新建,加入一下内容:%JAVA_HOME%\bin
      • 环境检查:在CMD命令终端输入:java -version
  • Android Sdk 安装

    • 点击下载
    • 安装Android Studio 使用SDK manager进行对应版本的安装,有疑问可自行度娘
    • 根据下载路径,配置环境变量
      • 系统变量,新建环境变量,变量名:ANDROID_HOME 变量值:D:\Develop\Android\Sdk
      • 在系统变量 Path 加入以下内容:%ANDROID_HOME%\platform-tools,%ANDROID_HOME%\tools,%ANDROID_HOME%\build-tools
      • 检查环境:在CMD命令终端输入: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环境是否完整 appium-doctor 检查

使用说明

需要安装库

包名 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

百度ocr使用

PaddleOCR是百度开源的一款基于深度学习的ocr识别库,对中文的识别精度相当不错,可以应付绝大多数的文字提取需求。 需要依次安装三个依赖库,安装命令如下,其中shapely库可能会受系统影响安装报错,具体解决方案参考这篇博客:百度OCR(文字识别)服务使用入坑指南

  • pip install paddlepaddle
  • pip install shapely
  • pip install paddleocr

allure装饰器简介

使用方法 参数值 参数说明
@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

命令释义:
  1. pytest生成原始报告,里面大多数是一些原始的json数据,加入--clean-alluredir参数清除allure-results历史数据。

    pytest --alluredir allure-results --clean-alluredir

    • --clean-alluredir 清除allure-results历史数据
  2. 使用generate命令导出HTML报告到新的目录

    • -c 在生成报告之前先清理之前的报告目录
    • -o 指定生成报告的文件夹

测试报告

空文件

简介

EGStar自动化 展开 收起
Python 等 4 种语言
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/chen-sanye/EGStar.git
git@gitee.com:chen-sanye/EGStar.git
chen-sanye
EGStar
EGStar
master

搜索帮助