亲自踩过的坑---pytest执行测试案例,没有进行skip标记,,案例却显示全是跳过
我亲自踩过的坑、愣是找了两天问题,各种百度、也没找到答案
不多说先上问题:
@pytest.fixture def login_init(init): lp = LoginPage(init) ip = IndexPage(init) yield {"driver": init, "lp": lp, "ip": ip} class TestLogin: @pytest.mark.usefixtures("login_init") def test_login_success(self, login_init): login_init["ip"].click_login_btn() login_init["lp"].login(success_data["account"], success_data["pwd"]) assert login_init["driver"].current_url == success_data["except"]
右键执行上面代码,案例竟然自动跳过了,显示:
Testing started at 14:28 ... D:\Python\python\python.exe "D:\PyCharm Community Edition 2019.2\helpers\pycharm\_jb_pytest_runner.py" --path D:/Python/workspace/web_actual_combat/TestCases/test_login.py Launching pytest with arguments D:/Python/workspace/web_actual_combat/TestCases/test_login.py in D:\Python\workspace\web_actual_combat\TestCases ============================= test session starts ============================= platform win32 -- Python 3.7.4, pytest-5.3.2, py-1.8.0, pluggy-0.13.1 -- D:\Python\python\python.exe cachedir: .pytest_cache rootdir: D:\Python\workspace\web_actual_combat\TestCases plugins: allure-pytest-2.8.6, appium-0.1, variables-1.9.0 collecting ... collected 1 item test_login.py::TestLogin::test_login_success SKIPPED [100%] Skipped: no variables file ============================= 1 skipped in 0.02s ============================== Process finished with exit code 0
...................懵逼了,不知道什么情况o(╥﹏╥)o
那么问题来了,我没有进行任何的skip标记,案例为什么跳过了?
当我找到问题时,也是被自己蠢哭了
原因是,我安装了pytest-appium的插件,在执行pytest案例时,首先会执行一个appium的前置条件,如下图:
这就是为什么我的案例会自动跳过的原因
解决办法:
在已安装的插件库里删除pytest-appium插件,就OK了(别问我为什么要安装这个插件,我想我是傻吧,不过大家应该不会遇到这个问题啦)
删除pytest-appium插件后再去执行案例,就OK了,没有任何问题(这办法有点草率,\(^o^)/~)
ps:大家应该不会遇到这样的问题,毕竟是我自己蠢,自己踩过的坑记录下来,让自己长点记性