gpt4 book ai didi

selenium - Behat + selenium 2 等待页面加载

转载 作者:行者123 更新时间:2023-12-04 17:44:54 24 4
gpt4 key购买 nike

使用 Selenium2Driver 将 Behat 与 Mink 一起使用时,有没有办法可靠地等待页面加载?

我继承了一些像这样等待的遗留测试:

Background:
Given I am on "http://test.example.com"
And I wait for "20000"
Given I click on the element with css selector ".button1"
And I wait for "30000"
Given I click on the element with css selector ".button2"
And I wait for "30000"
Given I click on the element with css selector ".button1"
And I wait for "10000"

即只是这个单一的测试需要 1 分 30 秒。

我想做的是有一种通用的方法来等待上一次点击导致页面加载,而不必每次都等待大量的固定时间。

我可以看到的所有等待页面加载的建议,都是指检查特定页面元素是否已加载。

然而,这些测试针对各种遗留网站运行,其中并不总是可以检查存在的标准元素,所以我希望使用更通用的方法。

最佳答案

您可以使用带有 javascript 条件的等待方法,例如:

/**
* @When /^wait for the page to be loaded$/
*/
public function waitForThePageToBeLoaded()
{
$this->getSession()->wait(10000, "document.readyState === 'complete'");
}

另一个好的做法是有一个等待元素的方法,如果找到元素返回元素对象,否则它将抛出异常。

对于 click 方法,您可以使用以下内容:
$this->waitForElement("css_selector")->click();

关于selenium - Behat + selenium 2 等待页面加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com