5 Star 3 Fork 0

陈三页 / EGStar

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
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 指定生成报告的文件夹

测试报告

Empty file

About

EGStar自动化 expand collapse
Python and 4 more languages
Cancel

Releases (1)

All

Contributors

All

Activities

Load More
can not load any more
Python
1
https://gitee.com/chen-sanye/EGStar.git
git@gitee.com:chen-sanye/EGStar.git
chen-sanye
EGStar
EGStar
master

Search