【APP自动化进阶】APP自动化项目框架实战

三叔测试笔记 / 2024-02-01 / 原文

一、自动化项目介绍

1.涉及技术栈

  • python
  • appium
  • selenium
  • pytest
  • allure
  • subprocess
  • adb

2.实现的功能概述

  • APP自动化执行
  • 支持pytest
  • 生成测试报告
  • 多线程执行
  • 自动开启、关闭appium、allure等服务

二、框架及项目结构

项目目录

  • app---apk文件
  • base---核心方法
    • driver.py---driver驱动
    • base_element.py---元素操作
  • business---业务方法
    • login_page.py---登录页方法
    • home_page.py---首页方法
    • ...
  • config---配置文件
    • kyb_caps.yaml---设备信息配置文件
    • log.yml---log配置文件
  • data---测试数据文件目录
    • user.csv
    • ...
  • logs----日志文件目录
    • xxxx-xx-xx_log.log---项目日志
    • allure_logs
      • xxxx
    • appium_logs
      • xxxx
  • reports---报告目录
    • xx_result---xx设备result文件目录
    • xx_html----xx设备html文件目录
      screenshots---图片保存目录
      test_case---测试用例目录
      • test_login
        • test_login.py
          conftest.py
  • tools---工具类
    - common.py---用例常用工具,如:页面初始化、弹框检查和关闭、文件处理等。
    - decorator.py---装饰器类
    - manage_devices.py---设备管理类
    - server.py---服务类(appium、allure服务等)
    - setup_teardown.py---自定义用例前置后置方法
    - unit.py---日志、路径处理等
  • conftest.py---pytest自定义参数
  • pytest.ini
  • run_thread.py---线程执行入口
  • run_all.py---主执行入口

三、核心方法设计

driver驱动

元素操作

四、常用方法

业务方法及用例

页面方法封装

测试用例

执行用例类