十二pytest框架入门+allure报告

1.pytest

pytest是一种自动化测试框架,pytest向下兼容unittest

命名规范 文件名以test开头,或者test结尾 类以Test开头,且类当中不能有init方法 方法或函数以test_开头 断言必须使用assert

assert 1==1 #判断等式两边是否相等

assert 100 #判断某个语句是否为真

assert 100 in [100,200] #判断某个值是否属于某个对象

assert 1!=2 #判断某个值是否不等于另一个值

assert not False #逻辑运算符not

pytest框架使用

import os

import allure

import pytest

class Test1:

def test_100(self):

print('******************test100*********************')

assert 1==2 #判断预期结果与实际结果是否一致

def test_200(self):

print('***********************test200**********************')

assert 6==6

if __name__ == '__main__':

pytest.main(['test_pytest1.py','-s']) #-s表示允许执行print语句

setup与teardown

setup在所有用例之前执行,teardown在所有用例之后执行 setup_method,teardown_method 执行顺序①②④①③④

class Test1:

def setup_method(self): #①

print('\n开始执行用例')

def test_100(self): #②

assert 1==2 #判断预期结果与实际结果是否一致

def test_200(self): #③

assert 6==6

def teardown_method(self): #④

print('\n用例执行完毕')

if __name__ == '__main__':

pytest.main(['test_pytest1.py','-s']) #-s表示允许执行print语句

setup_class,teardown_class 执行顺序①②③④,在每个类之前和之后执行

setup_module,teardown_module 在整个模块开始之前和之后执行

class Test1:

def setup_class(self): #①

print('\n开始执行用例')

def test_100(self): #②

assert 1==2 #判断预期结果与实际结果是否一致

def test_200(self): #③

assert 6==6

def teardown_class(self): #④

print('\n用例执行完毕')

if __name__ == '__main__':

pytest.main(['test_pytest1.py','-s']) #-s表示允许执行print语句

以@pytest.fixture()实现setup与teardown

import pytest

@pytest.fixture(scope='session') #装饰器,相当于setup,缺省值为function级

#scope可以加入参数scope='class',将级别改为class

#scope可以加入参数scope='module',将级别改为module

#scope='session' 使用这个级别时,将fixture的内容写到conftest.py文件中,目录下的所有文件都使用这个配置

def some_data():

print('开始')

yield #这个关键字之后的代码相当于teardown

print('结束')

def test_some_data(some_data):

assert 1==2

if __name__ == '__main__':

pytest.main(['test_example1.py','-s'])

pytest数据驱动

list1=[[1,2],[3,4],[2**25,33554432]]

class Test10: @pytest.mark.parametrize('result,real_result',list1)

def test_10(self,result,real_result):

assert result==real_result

if __name__ == '__main__':

pytest.main(['test_pytest1.py','-s'])

allure报告

1、下载allure.zip

2、解压allure.zip到一个文件目录中

3、将allure报告安装目录\bin所在的路径添加环境变量path中

4、pip install allure-pytest

list1=[[1,2],[3,4],[2**25,33554432]]

@allure.feature('层级1')

@allure.story('层级2')

@allure.title('层级3')

class Test10: @pytest.mark.parametrize('result,real_result',list1)

def test_10(self,result,real_result):

assert result==real_result

if __name__ == '__main__':

pytest.main(['test_pytest1.py','-s','--alluredir','./report']) #-s表示允许执行print语句

os.system('allure generate ./report -o ./report/report --clean') #生成allure报告

第二节课

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest airtest allure框架集成是指将pytest、airtest和allure三个框架整合在一起使用的过程。 首先,pytest是一个功能强大的Python测试框架,用于简化和加速测试过程。它提供了丰富的插件和扩展,可以方便地进行测试用例的组织、执行和报告。 其次,airtest是一个用于自动化UI测试的Python库,具有跨平台、快速、简便等特点。它可以模拟用户的操作,如点击、滑动、输入等,以及获取屏幕上的元素信息,用于编写测试用例。 最后,allure是一个用于生成漂亮测试报告的开源框架。它提供了丰富的报告展示功能,包括图表、截图、日志等,能够直观地展示测试结果和问题。 将这三个框架进行集成,可以实现更高效、可靠的自动化测试。具体的集成步骤如下: 1. 首先,安装好pytest、airtest和allure这三个框架及其对应的插件和依赖。 2. 编写测试用例,使用pytest的语法来组织测试用例,并利用airtest的API来编写具体的测试步骤和断言。 3. 在执行测试用例之前,通过pytest的命令行参数或配置文件,指定使用allure来生成测试报告,并设置报告的存放路径。 4. 执行测试用例,pytest会自动调用airtest运行测试,获取测试结果和日志,并将这些信息传递给allure。 5. 测试执行完毕后,allure会根据收集到的信息生成漂亮的测试报告,包括各种图表、测试用例的执行状态、运行时间等。 通过集成pytest、airtest和allure,可以将测试过程和结果更好地可视化和管理,提高测试效率和可靠性。此外,allure还支持与Jenkins等持续集成工具的集成,方便自动化测试的持续集成和部署。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值