当前位置: 首页 > news >正文

安全联盟可信网站认证网站开发人员职位晋升空间

安全联盟可信网站认证,网站开发人员职位晋升空间,内蒙古城乡建设网站,怎样做推广营销目录#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结#xff08;尾部小惊喜#xff09; 前言 什么是固件 Fixt… 目录导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜 前言 什么是固件 Fixture 翻译成中文即是固件的意思。 它其实就是一些函数会在执行测试方法/测试函数之前或之后加载运行它们常见的如接口用例在请求接口前数据库的初始连接和请求之后关闭数据库的操作。 pytest 中提供了功能更加丰富的Fixture用于实现setup、teardown功能。 定义方式 使用pytest.fixture()进行定义简单示例如下 import pytestpytest.fixture() def before():print(连接数据库)调用方式 调用单个fixture函数 方式一使用fixture函数名作为参数 import pytestpytest.fixture() def before():print(连接数据库)# 调用before def test_01(before):print(执行test_01)方式二使用 pytest.mark.usefixtures(‘fixture函数名’)装饰器 import pytestpytest.fixture() def before():print(连接数据库)# 调用before pytest.mark.usefixtures(before) def test_01():print(执行test_01)方式三使用autouse参数自动执行fixture函数 import pytest# fixture函数定义的时候使用autouse参数作用域范围内的测试用例会自动调用该fixture函数 pytest.fixture(autouseTrue) def before():print(连接数据库)# 自动调用before def test_01():print(执行test_01)三种方式调用后的结果都如下 我们可以看到先执行了fixture函数再执行测试函数。 1、调用多个fixture函数 import pytestpytest.fixture() def before():print(连接数据库)pytest.fixture() def before_s():print(初始化数据)def test_01(before, before_s):print(执行test_01)调用多个 fixture 函数时由前至后依次执行所以test_01()调用时先执行before再执行before_s。 2、对fixture函数重命名 定义fixture函数时可以利用name参数进行重命名方便用于调用示例如下 import pytestpytest.fixture(namedb) def connect_order_db():print(连接数据库)def test_01(db):print(执行test_01)使用fixture传递测试数据 在执行完fixture函数后有时需要将该fixture中得到到某些数据传递给测试函数/测试方法用于后续的执行。 fixture中提供普通传递和参数化传递两种数据传递方式。 1、普通传递 示例如下 import pytestpytest.fixture() def before():print(连接数据库)return 连接成功def test_01(before):print(执行test_01)assert before 连接成功注意如果自定义的fixture函数有返回值需要使用上面说的方式一调用才能获取fixture函数的返回值并传入测试函数中方式二就无法获取返回值。 2、参数化传递 对fixture函数进行参数化时需要使用参数params并且需要传入参数request简单示例如下 import pytesttest_params [1, 2, 0] pytest.fixture(paramstest_params) def before(request):result request.paramreturn resultdef test_02(before):print(执行test_02)assert beforeif __name__ __main__:pytest.main()执行结果 可以看到因为所调用的fixture函数进行了参数化虽然只有一个测试函数但执行了3次。 conftest.py 上面我们举的例子都是把fixture函数放在测试用例模块里面但如果很多测试模块需要引用同一个fixture函数怎么办这是时候就需要把它放在命名为conftest的模块里这样同级或以下目录中的测试用例便能调用这些自定义的fixture函数。 例如有如下目录 ├─testcase │ │ │ ├─test_module_01 │ │ test_case_1.py │ │ test_case_2.py │ │ │ ├─test_module_02 │ │ test_case_3.pytest_module_01 中的test_case_1.py与test_case_2.py都需要调用同一个 fixture 函数那么我们只需要在 test_module_01 中新建conftest.py并编写这个fixture函数即可示例如下 ├─testcase │ │ │ ├─test_module_01 │ │ conftest.py │ │ test_case_1.py │ │ test_case_2.py │ │ │ ├─test_module_02 │ │ test_case_3.pyconftest.py: import pytestpytest.fixture(autouseTrue) def before():print(连接数据库)test_case_1.py def test_01():print(执行test_01)test_case_2.py def test_02():print(执行test_02)这样执行这两个模块的测试用例时会自动先去调用conftest.py中的before()函数。 假设 test_module_02 中的 test_case_3.py 也需要调用这个before()函数那么这个时候我们就需要在上一层即 testcase 中新建conftest.py并编写这个before()函数才能在 test_case_3.py 中调用如下 ├─testcase │ │ conftest.py │ │ │ ├─test_module_01 │ │ conftest.py │ │ test_case_1.py │ │ test_case_2.py │ │ │ ├─test_module_02 │ │ test_case_3.pyconftest.py只作用于同级或以下目录中的测试模块且需要注意当以下层级中存在了另一个conftest.py那么以下层级将由另一个conftest.py文件接管。 作用域 pytest 的 fixture 作用域分session、module、class、function四个级别。在定义 fixture 函数的时候通过scope参数指定作用范围默认为function。 session每次会话执行一次 module每个测试模块执行一次 class每个测试类执行一次 function每个测试方法执行一次 注意对于单独定义的测试函数class、function 都会起作用可以从下列示例中看出来。 测试目录结构如下 ├─apiAutoTest │ │ run.py │ │ │ ├─testcase │ │ │ conftest.py │ │ │ │ │ ├─test_module_02 │ │ │ │ conftest.py │ │ │ │ test_case_3.py │ │ │ │ test_case_4.py其中conftest.py代码如下 import pytestpytest.fixture(scopesession, autouseTrue) def session_fixture():print(这是一个作用于session的fixture)pytest.fixture(scopemodule, autouseTrue) def module_fixture():print(这是一个作用于module的fixture)pytest.fixture(scopeclass, autouseTrue) def class_fixture():print(这是一个作用于class的fixture)pytest.fixture(scopefunction, autouseTrue) def function_fixture():print(这是一个作用于function的fixture)test_case_3.py代码如下 import pytestclass TestOrder:def test_a(self):print(test_a)def test_b(self):print(test_b)def test_c():print(test_c)test_case_4.py代码如下 def test_e():print(test_e)run.py代码如下 import pytestif __name__ __main__:pytest.main([-s])运行run.py结果如下 collected 4 itemstestcase\test_module_02\test_case_3.py 这是一个作用于session的fixture 这是一个作用于module的fixture 这是一个作用于class的fixture 这是一个作用于function的fixture test_a .这是一个作用于function的fixture test_b .这是一个作用于class的fixture 这是一个作用于function的fixture test_c . testcase\test_module_02\test_case_4.py 这是一个作用于module的fixture 这是一个作用于class的fixture 这是一个作用于function的fixture test_e . 4 passed in 0.04s 从结果可以看出来 作用于session的fixture函数只在所有测试用例执行之前调用了一次 作用于module的fixture函数在每个测试模块执行之前调用了一次 作用于class的fixture函数在每个测试类执行之前调用了一次 作用于function的fixture函数在每个测试方法/测试函数执行之前调用了一次 注意在定义的测试函数如test_c()、test_e()执行之前也会调用scopeclass的fixture函数。 与 unittest 框架比较pytest 中的Fixture更加丰富可扩展性更高。 Fixture还有很多更加优雅的用法用于自动化测试项目中。 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜 每一次跌倒都是为了更高的飞翔每一次挫折都是为了更坚强的成长。不惧困难不畏艰险勇往直前追逐梦想。坚持奋斗超越自己终将引领辉煌的人生之巅 不管前方有多少艰险和困难只要心中燃着梦想的火焰就有无限的力量去闯荡。勇往直前坚持不懈唯有奋斗才能书写出属于自己的辉煌篇章 愿你的内心燃起坚定的火焰迎接挑战超越极限。不论前路多坎坷披荆斩棘只有拼搏奋斗才能创造出属于自己的辉煌人生。相信自己永远不言放弃
http://www.dnsts.com.cn/news/113691.html

相关文章:

  • 站长工具的使用seo综合查询运营创建公司策划书
  • 订阅号做微网站需要认证吗编程机构
  • 合作建网站济南网站建设第六网建
  • 企业网站推广建设wordpress访问计数器
  • 网站底部模板源码长沙有哪些大公司
  • 经营虚拟网站策划书注册建筑工程公司起名大全
  • 企业网站模板建站费用网站建设与维护工资
  • 学生成绩管理系统 网站建设wordpress 全局设定
  • 京东购物中心网络优化大师下载
  • 广昌网站建设制作六年级做网站的软件
  • 重庆万州网站建设报价网站流量突然增加
  • 做外贸要有英文网站吗北京网站建设乐云seo
  • 台州模板建站代理内江网站制作
  • 公司网站建站模板模板商业网站建设预估收益
  • 网站首页的概念正规代做毕业设计的网站
  • 小企业如何建网站网站空间200m
  • 网站建设关闭窗口代码网站的按钮怎么做 视频
  • 北京网站建设 shwl网站设计创新点怎么写
  • 四川建设部网站官网石狮建设银行网站
  • 邯郸网站建设市场网站不允许上传文件
  • 昆明做网站优化凡客另一购物网站
  • 网站建设属于税收wordpress文件调用
  • 网站建设英文方案企业营销型网站团队
  • 荧光字体制作网站房地产开发资质需要什么条件
  • wordpress小工具制作浙江seo技术培训
  • js网站统计代码西安最有名的策划公司
  • 巴中移动网站建设wordpress汉化插件软件
  • 印刷下单网站开发贺州网站制作
  • 松江网站开发培训课程赣州seo唐三
  • 建设网站公司管备案么大连商城网站制作公司