pytest,在第一个列表中参数化x,在第二个列表中参数化

问题描述

xlist = ["url1","url2","url3"]
ylist = ["xp1","xp2","xp3"]

@pytest.mark.parametrize("url,xp",[(xlist,ylist)])
class Test01:
    def test_001(self,url,xp):
        print(url)
        print(xp)

结果

Process finished with exit code 0
PASSED                            
[100%]['url1','url2','url3']
['xp1','xp2','xp3']

目标结果:

PASSED                                [ 33%]url1 xp1
PASSED                                [ 66%]url2 xp2
PASSED                                [100%]url3 xp3

对于一个列表,它可以与“ @ pytest.mark.parametrize(” url“,xlist)”一起使用,但是我找不到关于多个的东西。有什么解决办法吗?

解决方法

@pytest.mark.parametrize("url,xp",zip(xlist,ylist))
class Test01:
    def test_001(self,url,xp):
        print(url)
        print(xp)

我一直在寻找。