亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何處理硒的會話超時

如何處理硒的會話超時

慕無忌1623718 2022-09-07 16:52:40
我看了類似問題的一些答案,但找不到滿意的答案。我正在構建自動化框架,其中我運行了200個測試用例,需要大約60分鐘才能完成。應用程序的會話時間超過 30 分鐘,因此當我的測試用例運行時,它會在 30 分鐘后注銷,然后測試用例失敗,因為它找不到所需的元素。登錄 我正在考慮如何處理會話超時:在測試用例編號# X中再次調用登錄方法,并檢查是否注銷然后再次登錄,但這似乎不是一個好主意,好像明天的會話超時時間從30分鐘更新到其他東西,我將不得不在其他一些測試用例中調用login method。2.如果,請檢查系統是否注銷,如果是,則再次登錄。但是對于這個問題是相同的,就像我必須在每個方法或一些特定方法中調用它一樣,以檢查每次是否注銷。Current time - Test start time >= 30 minute因此,我正在尋找一些解決方案,從我的自動化開始不斷檢查,如果找到注銷窗口,則調用登錄方法。注意:我正在使用硒webdriver,Java,TestNG,Maven和以下頁面對象模式。
查看完整描述

1 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

因此,我假設您的登錄頁面的URL與實際應用程序中的任何頁面的URL不同。如果您還沒有 testng @BeforeTest則可以創建一個方法,并在新的或現有的測試前方法中包含以下內容:


if (driver.getCurrentUrl() == "whatever.yourLoginPageUrl.is") {

    //call login method or do whatever you have to do to login


    //If you want to rerun the previous test that probably failed, do that here

}

一種稍微光滑的方法(我認為)是實現IRetryAnalyzer接口并覆蓋重試功能,例如


public class MyRetry implements IRetryAnalyzer {


@Override

public boolean retry(ITestResult result) {

    if (driver.getCurrentUrl() == "loginPageUrl") {

        //call login function or do whatever you need to to login 

        return true;

    }

    return false;

  }

}


查看完整回答
反對 回復 2022-09-07
  • 1 回答
  • 0 關注
  • 88 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號