用例,引用了 conftest 里面的登录用例,没有传递 get_driver 封装的业务 封装的 page 封装的方法 conftest.py
想把登录用例写在 conftest 里面,然后再用例上调用这个 fixture,结果运行完登录的用例就提示定位不了了,传递 driver 也不行
提供一个思路,将 driver 作为 global 变量传递
要多写注释啊,login_case(get_driver) 试试,看不懂很多地方,为啥函数没有 self
def __init__(self,get_driver): self.driver = get_driver()
这样试下呢
之前用了一下,这种的还是不行
pytest 的用例不能有init
应该是 conftest 中 fixture 用的不对造成的,下面这篇对 conftest 的使用介绍的非常详细,希望对你有帮助: https://www.cnblogs.com/poloyy/p/12663601.html
好的,谢谢
目前的解决方案:在 conftest.py 里面编写的 login 用例用 yield 把 driver 传递出来,后面的用例直接引用 login, login 和 login 后面的操作就使用的同一个 driver
这个问题我三年前遇到的,应该是在 conftest.py 中定义就可以了哦