博客
关于我
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/

    你可能感兴趣的文章
    PAT 1027 Colors in Mars
    查看>>
    PAT 1127 ZigZagging on a Tree[难]
    查看>>
    PAT 2-07. 素因子分解(20)
    查看>>
    PAT A1033 重点题
    查看>>
    SparkSQL学习03-数据读取与存储
    查看>>
    PAT L2-012. 关于堆的判断
    查看>>
    PAT Spell It Right [非常简单]
    查看>>
    PAT-1044. Shopping in Mars (25)
    查看>>
    PAT-乙级-1040 有几个PAT
    查看>>
    pat1011. World Cup Betting (20)
    查看>>
    Spring组件扫描配置
    查看>>
    PAT1093 Count PAT's (25)(逻辑题)
    查看>>
    PATA1038题解(需复习)
    查看>>
    Patching Array
    查看>>
    Spring源码学习(二):Spring容器之prepareContext和BeanFactoryPostProcessor的介绍
    查看>>
    PatchMatchStereo可能会需要的Rectification
    查看>>
    Path does not chain with any of the trust anchors
    查看>>
    Path形状获取字符串型变量数据
    查看>>
    PAT甲级——1001 A+B Format (20分)
    查看>>
    Skywalking原理
    查看>>