草庐IT

Pytest - setup 和 teardown

Pytest-setup和teardown执行用例肯定有些需要前置条件或后置操作,例如前置的用户登陆,后置的清理数据等操作;unittest提供了两种前置(setup、setupClass)和两种后置(teardown、teardownClass);相比之下,pytest提供了十种setup和teardown方法:模块级别:setup_module、teardown_module函数级别:setup_function、teardown_function,不在类中的方法类级别:setup_class、teardown_class方法级别:setup_method、teardown_method用

python - 如何为 py.test 中的所有测试跨模块共享变量

我有多个由py​​.test运行的测试,它们位于多个文件的多个类中。与py.test使用的每个文件中每个类的每个方法共享大型字典的最简单方法是什么?简而言之,我需要为每个测试创建一个“全局变量”。在py.test之外,我对这个变量没有用处,所以我不想将它存储在正在测试的文件中。我经常使用py.test的固定装置,但这对于这种需要来说似乎有点过分了。也许这是唯一的方法? 最佳答案 更新:pytest-namespacehookisdeprecated/removed.不要使用。见#3735了解详情。您提到了显而易见且最不神奇的选择:使

python - 如何为 py.test 中的所有测试跨模块共享变量

我有多个由py​​.test运行的测试,它们位于多个文件的多个类中。与py.test使用的每个文件中每个类的每个方法共享大型字典的最简单方法是什么?简而言之,我需要为每个测试创建一个“全局变量”。在py.test之外,我对这个变量没有用处,所以我不想将它存储在正在测试的文件中。我经常使用py.test的固定装置,但这对于这种需要来说似乎有点过分了。也许这是唯一的方法? 最佳答案 更新:pytest-namespacehookisdeprecated/removed.不要使用。见#3735了解详情。您提到了显而易见且最不神奇的选择:使

2023最全最细的Selenium+Pytest自动化测试框架实战

                 选前言# selenium自动化+pytest测试框架本章你需要一定的python基础——至少明白类与对象,封装继承一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网测试框架简介#测试框架有什么优点呢:代码复用率高,如果不使用框架的话,代码会很冗余可以组装日志、报告、邮件等一些高级功能提高元素等数据的可维护性,元素发生变化时,只需要更新一下配置文件使用更灵活的PageObject设计模式测试框架的整体目录目录/文件   说明   是否为python包common   这个包中存放的是常见的通用的类,如读取配置文

python - 如何使用 pytest 对 python datetime.datetime.now 进行猴子补丁?

我需要测试使用datetime.datetime.now()的函数。最简单的方法是什么? 最佳答案 您需要对datetime.now函数进行monkeypatch。在下面的示例中,我正在创建可以稍后在其他测试中重复使用的fixture:importdatetimeimportpytestFAKE_TIME=datetime.datetime(2020,12,25,17,5,55)@pytest.fixturedefpatch_datetime_now(monkeypatch):classmydatetime:@classmethod

python - 如何使用 pytest 对 python datetime.datetime.now 进行猴子补丁?

我需要测试使用datetime.datetime.now()的函数。最简单的方法是什么? 最佳答案 您需要对datetime.now函数进行monkeypatch。在下面的示例中,我正在创建可以稍后在其他测试中重复使用的fixture:importdatetimeimportpytestFAKE_TIME=datetime.datetime(2020,12,25,17,5,55)@pytest.fixturedefpatch_datetime_now(monkeypatch):classmydatetime:@classmethod

Python+Pytest压力测试

在现代Web应用程序中,性能是至关重要的。为了确保应用程序能够在高负载下正常运行,我们需要进行性能测试。今天,应小伙伴的提问,老向老师来写一个Pytest进行压力测试的简单案例。这个案例的测试网站我们就隐藏了,不过网站的基本情况是:阿里框架:FastAdmin.net1.程序说明1.1设置测试参数首先,我做的第一件事情就是设置测试参数。代码如下#定义测试用例deftest_performance():#设置测试参数url='http://www.a.com/'num_threads=20num_requests=200timeout=5这里面,我设置了网站的URL,线程数,每个线程的请求次数,

python - pytest 并行运行测试

我想并行而不是按顺序运行我的所有pytest测试。我当前的设置如下:classTest1(OtherClass):@pytest.mark.parametrize("activity_name",["activity1","activity2"])@pytest.mark.flaky(reruns=1)deftest_1(self,activity_name,generate_test_id):""""""test_id=generate_random_test_id()test_name=sys._getframe().f_code.co_nameresult_triggers=se

python - pytest 并行运行测试

我想并行而不是按顺序运行我的所有pytest测试。我当前的设置如下:classTest1(OtherClass):@pytest.mark.parametrize("activity_name",["activity1","activity2"])@pytest.mark.flaky(reruns=1)deftest_1(self,activity_name,generate_test_id):""""""test_id=generate_random_test_id()test_name=sys._getframe().f_code.co_nameresult_triggers=se

python - Pytest 在哪里存储预期数据

测试函数我需要传递参数并查看输出是否与预期输出匹配。当函数的响应只是一个可以在测试函数内部定义的小数组或单行字符串时,这很容易,但假设我测试的函数修改了一个可能很大的配置文件。或者,如果我明确定义它,结果数组是4行长。我在哪里存储它,以便我的测试保持干净且易于维护?现在,如果那是字符串,我只需在.py测试附近放置一个文件,然后在测试中执行open():deftest_if_it_works():withopen('expected_asnwer_from_some_function.txt')asres_file:expected_data=res_file.read()input_d