使用Python+Selenium遇TypeError:test_quantity_item_update缺失driver参数
问题解决:TypeError: test_quantity_item_update() missing 1 required positional argument: 'driver'
核心原因
这个错误本质是测试函数未正确接收pytest的driver fixture,且从错误回溯能看出,你用了unittest的运行器执行依赖pytest fixture的测试,两者不兼容导致参数无法自动注入。
解决方案
1. 修正测试函数的参数定义
确保测试函数将driver作为参数传入,pytest会自动把fixture注入:
def test_quantity_item_update(driver): # 测试逻辑示例 driver.get("你的测试页面URL") # 执行商品数量更新操作 # ...
2. 用pytest而非unittest运行测试
错误回溯显示测试通过unittest.main()执行,但pytest fixture仅在pytest运行环境下生效:
- 终端运行命令:
pytest 你的测试文件名.py -v - 若用PyCharm,将运行配置从「Unittest」改为「pytest」,选中对应测试文件或函数执行。
3. 确保fixture的可见性
- 若driver fixture和测试函数不在同一文件,需将fixture放在
conftest.py中(pytest会自动扫描该文件内的fixture); - 若在同一文件,确保fixture定义在测试函数之前。
内容的提问来源于stack exchange,提问作者Maayan Israel
相关产品推荐
相关产品推荐

