当前位置: 首页 > 面试题库 >

Behat + Selenium 2等待页面加载

米修平
2023-03-14
问题内容

使用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秒。

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

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

但是,这些测试是针对各种传统网站运行的,这些网站中并不总是可以检查是否存在标准元素,因此我希望使用一种更通用的方法。


问题答案:

您可以将等待方法与javasccript条件一起使用,例如:

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

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

对于click方法,您可以具有以下内容:

$this->waitForElement("css_selector")->click();


 类似资料:
  • 我试图创建一个等待加载页面的方法,但我出现了一个错误。可能我没有正确使用这个方法。 错误是:

  • 本文向大家介绍jQuery EasyUI 页面加载等待及页面等待层,包括了jQuery EasyUI 页面加载等待及页面等待层的使用技巧和注意事项,需要的朋友参考一下 下面一个代码片段是 easyUI 页面加载等待,代码如下所示: 下面看个工具类 基于easyui的页面等待提示层,即mask 效果图: 以上所述是小编给大家介绍的jQuery EasyUI 页面加载等待及页面等待层,希望对大家有所帮

  • 问题内容: 我编写了一个脚本,该脚本从页面中获取数据,但是有时页面需要花费一些时间来加载,因此当将html拉到汤对象中时,有时它什么也不会拉,因为页面仍然需要完成。 我编写了以下代码以等待页面完成。 有用 但是调用函数时出现以下错误; 问题答案: 我认为您应该这样使用: 如手册所述。

  • 我对selenium webdriver有问题,如果有人能帮助我,我将非常感激 环境: 硒服务器独立-2.31.0.jar / 硒-服务器-独立-2.35.0.jar IE驱动程序服务器.exe(已尝试版本 2.28 - 2.35) 示例代码: 问题:修复这些问题都会对我有所帮助 href。sendKeys()成功模拟用户单击,但不等待页面加载。 href。click()无法模拟用户单击,但成功等

  • Selenium的SafariDriver似乎不会等待网页加载。我的测试如下: 如果您使用或运行此功能,它将正常运行,即搜索“您好世界”,然后在结果页面上转到图像结果。 使用,它会失败: 找不到的元素是“Images”,因为页面在运行该语句之前没有加载。 这是预期行为吗?我应该是狩猎旅行的特例吗?

  • 问题内容: 您如何使Selenium 2.0等待页面加载? 问题答案: 您还可以使用以下代码检查页面加载