APP自动化测试(13)-实战2基本设计思路

本文描述了一个基于Pytest的自动化测试框架的搭建过程。首先,功能测试的流程被实现为pytest测试用例,参数存储在Excel表格中。通过参数化实现数据驱动,将Excel数据转化为Python列表供测试用例使用。allure用于生成测试报告,而appium则用于APP元素定位和操作,并进行了相关操作的封装。在main入口代码中,先生成测试数据,然后执行冒烟测试或全部测试用例,最后使用allure生成并打开HTML测试报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、整体思路

在实战1中我们设计了准备测试的功能测试场景,现在我们理一下自动化的思路。

1、功能测试的流程在pytest的测试用例中实现

2、不同的参数放在Excel表格中

3、采用参数化来实现数据驱动,这样就要求执行测试前将Excel中的数据生成python的列表,然后当参数传给测试用例

4、测试报告利用allure生成

5、元素定位、APP操作利用appium,并对操作进行封装,将数据当参数传入就实现APP的各种操作。

各个包的结构和介绍如下

 架子搭起来后,后面我们结合前面app自动化测试的内容和pytest的内容,逐步完善起来,最后能得到一个可用的自动化测试框架

二、main入口代码示意

'''
LastEditTime: 2023-03-16 23:46:16
FilePath: \AutoTest\main.py
Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
'''
from common.ComLog import LOGGER
from base import BaseGenerateData
import pytest
import allure
import datetime
import os
from config import config

if __name__ == '__main__':
    LOGGER.info("测试开始!")
    
    if config.IsGenerateData:
        # 生成数据
        LOGGER.info("测试前生成测试数据")
        #TODO
        # 生成数据
        pass
        
    now = datetime.datetime.now()
    time_str = now.strftime("%Y-%m-%d-%H%M%S")    
   
    #此处命令 --alluredir 生成了报告的原始文件
    #执行冒烟测试用例
    pytest.main(["-vs","testcase","-m smoke","--alluredir","./report/{}xml".format(time_str)])
    
    #执行所有用例
    #pytest.main(["-vs","testcase","--alluredir","./report/{}xml".format(time_str)])
    
    #此处命令 allure generate 将起那么生成的json文件转换为html的报告
    os.system("allure generate ./Report/{}xml -o ./Report/{}html --clean".format(time_str,time_str))
    # 生成的报告index.html不能直接用Chrome打开,打开后看不到内容,需要用allure open打开才能渲染出样式和显示内容
    os.system("allure open ./Report/{}html".format(time_str))   
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六天测试工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值