小编dw1*_*919的帖子

Py.test - 将变量从 csv 应用到装饰器?

当我试图解释我的困境时,请耐心等待,我仍然是一个 Python 新手,所以我的术语可能不正确。另外,我对这篇文章不可避免的冗长感到抱歉,但我会尽力解释尽可能多的相关细节。

快速概述:

我目前正在使用 py.test 为一组功能基本相同的网站开发一套 Selenium 测试

我的一个典型测试如下所示:

@pytestrail.case('C100123')  # associates the function with the relevant TR case
@pytest.mark.usefixtures()
def test_login():
   # test code goes here
Run Code Online (Sandbox Code Playgroud)

正如我之前提到的,我的目标是创建一组代码来处理具有(几乎)相同功能的许多网站,因此上面示例中的硬编码装饰器将不起作用。

我尝试了一种数据驱动方法,其中包含 csv 以及 TestRail 中的测试列表及其案例 ID。

例子:

website1.csv:
Case ID | Test name
C100123 | test_login


website2.csv:
Case ID | Test name
C222123 | test_login
Run Code Online (Sandbox Code Playgroud)

我编写的代码将使用检查模块来查找正在运行的测试的名称,找到相关的测试 ID 并将其放入名为 test_id 的变量中:

import csv
import inspect
class trp(object):
def __init__(self):
    pass


with open(testcsv) …
Run Code Online (Sandbox Code Playgroud)

python testing selenium pytest testrail

3
推荐指数
1
解决办法
1017
查看次数

标签 统计

pytest ×1

python ×1

selenium ×1

testing ×1

testrail ×1