UI自动化测试-pytest框架

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

在进行UI自动化测试的时候,我们需要工具来对测试用例进行收集,执行,标记,参数化。pytest就是这样一个工具。

pytest实际是python的一个单元测试框架,其他还有如unittest等,它可以实现按照规则搜索测试用例,对测试用例进行标记,如只执行L1

级别的测试用例,测试执行用例失败后重新执行,测试用例的参数化等。

pytest不仅适用于UI自动化测试,也适用于接口自动化,对python语言进行单元测试等。

安装pytest

可以使用pip或者pycharm方式进行安装

打开pycharm,左上角File-settings-project:项目名-python interpreter,点击+,搜索pytest,然后install package

第一个pytest脚本

import pytest

class TestDemo:
    def test_01(self):
        assert 1==1  # 断言成功

    def test_02(self):
        assert 1==2  # 断言失败
if __name__ == '__main__':
    pytest.main(['-s','test.py'])

在文件输入如上代码。

在这个脚本中,我们首先导入了pytest模块,然后定义了一个class,并定义了两个方法,在方法里用assert进行断言。

assert是python自带的关键字。assert后面接一个表达式,只要表达式的最终结果为True,那么断言通过,用例执行成功,否则用例执行失败。可以看出,第一个方法里结果为true,第二个方法里结果为false。

在main主入口里,调用pytest的main方法,并传入模块名(即文件名)。

点击运行按钮,结果如下:

由结果可以看出,一共收集了两个用例,其中一个运行成功(用.表示),一个运行失败(F表示),失败的原因是1!=2

用例收集规则

pytest按照一定的规则进行用例的收集。

1. 模块名必须以test_开头或_test结尾

这里适用于未指定模块时的收集,如果运行单个文件,在main里指定要执行的文件,则无论这个文件名是什么,都会被执行。

如果在main里不指定模块,如只写pytest.main(),则pytest会默认从当前路径及其所有子目录中搜索py源文件,所有名字以test_开头或者以_test结尾的python源文件(.py文件)被认为是测试模块源文件,不符合这个命名规则的文件会被忽略。

2. 测试类必须以Test开头且不能有init方法

### 使用 Pytest 实现 UI 自动化测试框架 #### 环境准备 为了构建一个基于 pytestUI 自动化测试框架,环境配置至关重要。确保安装了 Python 和 pip 后,可以通过命令 `pip install selenium` 来安装 Selenium WebDriver 库,这是操作 Web 浏览器的核心组件[^1]。 #### 安装 Pytest 接着,通过执行 `pip install pytest` 可以完成 pytest 测试库的安装工作。这一步骤使得编写和运行自动化测试脚本成为可能[^2]。 #### 框架设计概述 该框架的设计理念在于利用 pytest 提供的强大功能来管理测试案例的同时,借助 Selenium 进行页面交互模拟。这种组合能够有效地支持复杂的前端应用测试需求[^3]。 #### 参数化的实践方法 对于提高测试效率而言,在 pytest 中采用 JSON 文件来进行数据驱动测试是一种高效的方式。这种方式允许测试人员轻松地修改输入条件而无需更改代码本身,同时也方便与其他工具如 Postman 配合使用共享相同的参数集[^4]。 ```python import pytest from selenium import webdriver @pytest.fixture(scope="module") def browser(): driver = webdriver.Chrome() yield driver driver.quit() def test_sample_page_title(browser): browser.get('http://example.com') assert 'Example Domain' in browser.title ``` 上述代码展示了如何定义一个简单的 fixture 函数用于初始化并关闭浏览器实例,以及怎样创建具体的测试函数验证网页标题是否符合预期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值