Typescript函數不等待waitForExist()並打印下一行


1

我正在將webdriverIO與打字稿和玩笑一起使用來自動執行應用程序。我有一個簡單的測試來檢查特定元素在屏幕上顯示需要多長時間。單擊按鈕會運行一個過程,一旦完成該過程,就會在屏幕上顯示一個彈出窗口。

我在等待元素之前先打印時間,然後再打印。下面是代碼:

 $("//button[@testid='btn-submit']").click();
    const time1 = Date.now();
    console.log("Time started --- " + time1);
    $(".messagedialog").waitForExist(600000);
    const time2 = Date.now();
    console.log("Time Ended --- " + time2);
    $("//span[text()='View Result']").click();

運行時,即使應用程序仍在等待消息對話框,它也會在" Time Started-"之後立即打印" Time Ended-"行。我正在使用@ wdio / sync在同步模式下運行webdriverIO。

即使先前的語句" .waitForExist()"尚未返回true,為什麼仍打印" Time Ended"行?

1

WaitForExit() checks only for the presence of and not the visibility . You could use $(selector).waitForDisplayed instead . And also ensure there is no other element with the same selector