【跨平台的UI自动化测试框架】

下面是基于Airtest和Poco自动化测试框架的模板,并包含使用测试套件执行的方法说明。Airtest是一个跨平台的UI自动化测试框架,而Poco是一个用于UI元素定位的辅助库。

项目结构

your_project/
├── test_suite/
│   ├── __init__.py
│   ├── test_case1.air
│   ├── test_case2.air
│   └── test_case3.air
├── scripts/
│   ├── __init__.py
│   └── run_tests.py
└── requirements.txt

requirements.txt

airtest
poco

test_case1.air(测试用例1)

# test_case1.air
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco

# 连接设备
connect_device("Android:///")

# 初始化Poco
poco = AndroidUiautomationPoco()

# 测试步骤
def test_case1():
    start_app("com.example.yourapp")
    poco("com.example.yourapp:id/button_start").click()
    assert_exists(Template(r"tpl_button_start.png"), "Start button should be visible")
    # 其他测试步骤...

# 执行测试用例
if __name__ == "__main__":
    test_case1()

run_tests.py(运行测试套件)

import unittest
from airtest.cli.runner import AirtestCase, run_script
from airtest.report.report import simple_report

class TestSuite(unittest.TestCase):

    def run_airtest_script(self, script_path):
        class CustomAirtestCase(AirtestCase):
            def setUp(self):
                super(CustomAirtestCase, self).setUp()

            def tearDown(self):
                super(CustomAirtestCase, self).tearDown()
                simple_report(script_path, log_root=self.log)

        suite = unittest.TestLoader().loadTestsFromTestCase(CustomAirtestCase)
        unittest.TextTestRunner().run(suite)

    def test_case1(self):
        self.run_airtest_script('test_suite/test_case1.air')

    def test_case2(self):
        self.run_airtest_script('test_suite/test_case2.air')

    def test_case3(self):
        self.run_airtest_script('test_suite/test_case3.air')

if __name__ == '__main__':
    unittest.main()

使用方法

  1. 安装依赖: 在项目根目录下运行 pip install -r requirements.txt 安装所需的依赖。

  2. 编写测试用例:test_suite 目录下创建测试用例文件,每个测试用例都是一个 .air 文件。参考 test_case1.air 的示例。

  3. 运行测试套件:scripts 目录下运行 python run_tests.py 执行测试套件。

说明

  • run_tests.py 中的 TestSuite 类继承自 unittest.TestCase,并且包含每个测试用例的方法 (test_case1, test_case2, test_case3 等)。这些方法会调用 run_airtest_script 方法执行对应的 Airtest 脚本。
  • run_airtest_script 方法使用 AirtestCase 运行每个 Airtest 脚本,并生成简单的测试报告。
  • 可以根据需要在 test_suite 目录下添加更多的测试用例,并在 TestSuite 类中添加相应的方法来运行这些测试用例。

这样,通过组织结构化的测试用例文件和运行脚本,可以有效地管理和执行基于Airtest和Poco的自动化测试。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值