求助!使用 appium2.0 版本時,driver.close() 和.quit() 關閉應用失效的問題!

zZzwen發表於2024-04-11

最近在使用 appium2 編寫安卓自動化,appium2 的會話配置中有一項 appium:noReset: 預設為 false,即啟動應用預設重置應用狀態。 為了不每次啟動應用都要重新登陸然後點選各種彈窗,所以這一項我一般設定為 true。 那麼問題來了,我初始化 driver 寫在一個 fixture 裡(程式碼最下面),我想每次結束一個條用例就會執行這個 fixture 的後置處理 即關閉應用,目的是在執行下一條用例時啟動就會在首頁(統一初始頁面); 但是當 appium:noReset: true 時無論是 quit() 還是 close() 都會失敗,好像是因為和 appium:noReset: true 產生衝突,即 noReset: true 不讓你重置關閉也不行! ; 當然把 noReset: 設定為 false,倒是可以關閉了,但是下次啟動應用直接重置應用了,要中登陸開始執行了!

語言組織得有點亂, 總的來說我的目的是:在不重置的應用的情況下關閉應用, 但是 appium2.0 是必須設定為每次重置應用才能讓關閉應用方法生效!

這把我搞的好煩,求各位大佬指點迷津!

@pytest.fixture()
def init_driver(request):
    # 前置
    driver = webdriver.Remote(appium_server_url, options=AppiumOptions().load_capabilities(capabilities))

    yield driver
    # 後置
    driver.close()
    # driver.quit()

相關文章