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

    你可能感兴趣的文章
    Pandas DataFrame中的列从浮点数输出到货币(负值)
    查看>>
    pandas DataFrame的一些操作
    查看>>
    Pandas Dataframe的日志文件
    查看>>
    pandas Groupby:创建两列的Groupby时,如何按正确的顺序对工作日进行排序?
    查看>>
    Pandas matplotlib 无法显示中文
    查看>>
    pandas PIVOT_TABLE保持索引
    查看>>
    Pandas Plots:周末的单独颜色,x 轴上漂亮的打印时间
    查看>>
    pandas to_latex() 转义数学模式
    查看>>
    Pandas 中的多索引旋转
    查看>>
    Pandas 中的日期范围
    查看>>
    pandas 中的时间序列箱线图
    查看>>
    Pandas 使用指南
    查看>>
    pandas 分组并使用最小值更新
    查看>>
    pandas 均值(mean), 均值填充NA(fill_na)
    查看>>
    Pandas 对数据框的布尔比较
    查看>>
    pandas 将通话数据分割为15分钟的间隔
    查看>>
    pandas 找到局部最大值和最小值
    查看>>
    pandas 按日期和年份分组,并汇总金额
    查看>>
    pandas 数据帧到PostgreSQL表中使用的是没有SQLAlChemy的心理复制2吗?
    查看>>
    pandas 数据框条件 .mean() 取决于特定列中的值
    查看>>