gpt4 book ai didi

behat - 我可以让 Behat/ZombieJS/Mink 模拟点击 "non-link"元素来触发 JS 监听器吗?

转载 作者:行者123 更新时间:2023-12-02 19:42:49 27 4
gpt4 key购买 nike

我正在使用Behat用于测试,使用 ZombieJS驱动程序,到目前为止一切都工作得很好,但有一件事困扰着我,我似乎无法弄清楚如何让 Behat 模拟对非链接元素的点击。我猜这是因为 Mink 是一个“跨浏览器”驱动程序,点击非链接元素并没有真正的意义。但对于我的用例,我需要它,因为页面上有几个元素附加了 javascript 事件监听器,并且我想测试这些功能。

我尝试使用

Then I follow "div.sa"

但它失败并出现预期错误:

01. Link with id|title|alt|text "div.sa" not found.

因为它不是链接元素。 Behat 中也有类似的步骤:

我按“button.class”

但是这个仅适用于按钮。

有没有办法让 Behat 点击非标签的元素?

最佳答案

进行一些错误处理:

/** Click on the element with the provided xpath query
*
* @When /^(?:|I )click on the element "([^"]*)"$/
*/
public function iClickOnTheElement($locator)
{
$session = $this->getSession(); // get the mink session
$element = $session->getPage()->find('css', $locator); // runs the actual query and returns the element

// errors must not pass silently
if (null === $element) {
throw new \InvalidArgumentException(sprintf('Could not evaluate CSS selector: "%s"', $locator));
}

// ok, let's click on it
$element->click();
}

关于behat - 我可以让 Behat/ZombieJS/Mink 模拟点击 "non-link"元素来触发 JS 监听器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365910/

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