【发布时间】:2013-11-21 00:19:52
【问题描述】:
我有一个 UI 测试在一个下拉列表中失败,其中包含很多选项(超过 1000 个)。错误消息是“对 URL 的远程 WebDriver 服务器的 HTTP 请求...在 60 秒后超时”。
现在我承认在下拉菜单中包含这么多选项并不是一个好习惯,但我目前无法更改。话虽如此,使用 Selenium 通过文本选择选项的最快方法是什么?我可以使用 xpath 获得任何速度来查找选项,还是有其他方法可以做到这一点?谢谢。
这是我当前的代码:
var fieldElement = driver.FindElement(dropDownLocator);
var select = new SelectElement(fieldElement);
select.SelectByText(value);
【问题讨论】:
-
我的理解是 xpath 比 Selenium 中的 CSS 慢得多。对于这样大小的下拉列表,您可能需要考虑使用 javascript 执行器方法。可能您可以使用一种方法来选择要单击的特定选项,而不是 SelectElement 方法。
-
在这一切之下,
SelectElement使用 XPath 来查找select的子option元素。究竟什么是慢?最初找到select或选择option是text? -
Arran - 查找选择很快,但根据其文本选择特定选项是缓慢且超时的部分。
标签: c# testing xpath selenium selenium-webdriver