我親自踩過的坑、愣是找了兩天問題,各種百度、也沒找到答案
不多說先上問題:
@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:大家應該不會遇到這樣的問題,畢竟是我自己蠢,自己踩過的坑記錄下來,讓自己長點記性
