博客
关于我
Appium--pageobject实践(4)-unittest封装
阅读量:512 次
发布时间:2019-03-07

本文共 1186 字,大约阅读时间需要 3 分钟。

UNLIKELY TEST框架核心要素介绍

TestCase :是单元测试的基本单元,包含完整测试流程:包括setup环境准备、执行测试代码以及teardown环境清理。每个TestCase相当于一个完整的测试单元,可单独运行以验证特定功能是否正确。

TestSuite :是将多个TestCase集合在一起的容器,支持多级嵌套。TestSuite可以通过TestLoader加载到一起。这种层级化结构使得测试管理更加灵活,尤其在大量测试用例存在时能显著提升效率。

TextTestRunner :是执行测试用例的工具,其run()方法可以调用TestSuite或TestCase中的run(result)方法。执行结果会被TextTestRunner记录下来,包括总共执行多少用例、成功、失败的数量等信息。

Fixture :用于为TestCase设置和清理环境,是测试流程中不可或缺的一部分。Fixture可以是简单的资源创建,或者复杂的环境初始化脚本,确保每次测试运行都是在一致的环境条件下进行。

完整测试用例封装过程

前提:需已配置好yaml初始化参数文件和log.conf日志文件。

  • 创建cap.yaml配置文件用户可以自定义的测试设备参数如下:
    • platformName : 设备的运行平台(如"Android")
    • platformVersion : 平台版本
    • deviceName : 设备名
    • app : 测试APK路径
    • packageName : 应用包名
    • appActivity : 主Activity类名
    • unicodekeyboard : 是否启用Unicode键盘
    • resetkeyboard : 是否重新设置键盘
    • noReset : 是否不重置应用(默认False)
    • ip : 替换后的设备IP地址
    • port : 替换后的设备端口
    • uiautomationName : UI自动化引擎名称(如“uiautomator2”)
    1. 定义log.conf日志配置文件可根据需求设置日志格式和存储位置。

    2. 创建app_desired.py模块该模块的作用是启动应用并根据cap.yaml文件配置创建desired_caps字典,返回odium.Remote实例以控制远程设备。

    3. BaseView 基类定义该类主要为自动化脚本提供基本操作功能,包括:

      • Element定位和查找
      • 屏幕尺寸获取
      • 屏幕滑动操作
      • 等待时间控制

      common.py 公共类该类为自动化脚本提供通用功能,如:

      • Element查找
      • 屏幕操作
      • 资源管理等封装测试用例
        以登录模块为例,一个典型测试用例可包含以下步骤:
    4. 启动应用
    5. 定位并处理登录界面元素
    6. 输入正确用户信息
    7. 验证登录成功
    8. 提录操作
    9. 清理环境
    10. 通过将这些步骤系统化,testing.py文件中的TestCase类可实现自动化流程管理。

    转载地址:http://wcnjz.baihongyu.com/

    你可能感兴趣的文章
    Oracle闪回技术(Flashback)
    查看>>
    oracle隐含参数的查看与修改
    查看>>
    oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
    查看>>
    oracle零碎要点---oracle em的web访问地址忘了
    查看>>
    Oracle零碎要点---多表联合查询,收集数据库基本资料
    查看>>
    Oracle静默安装
    查看>>
    【Bert101】变压器模型背后的复杂数学【02/4】
    查看>>
    Oracle面试题:Oracle中truncate和delete的区别
    查看>>
    ThreadLocal线程内部存储类
    查看>>
    thinkphp 常用SQL执行语句总结
    查看>>
    Oracle:ORA-00911: 无效字符
    查看>>
    Text-to-Image with Diffusion models的巅峰之作:深入解读 DALL·E 2
    查看>>
    Tensorflow.python.framework.errors_impl.ResourceExhaustedError:无法分配内存[操作:AddV2]
    查看>>
    TCP基本入门-简单认识一下什么是TCP
    查看>>
    tableviewcell 中使用autolayout自适应高度
    查看>>
    Symbolic Aggregate approXimation(SAX,符号聚合近似)介绍-ChatGPT4o作答
    查看>>
    Orcale表被锁
    查看>>
    svn访问报错500
    查看>>
    sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
    查看>>
    ORCHARD 是什么?
    查看>>