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

避免Selenium中出现NoSuchElementException的最佳方法是什么?

陈知
2023-03-14
问题内容

我使用Java在Selenium
WebDriver中编写了一些测试用例,并在网格(集线器和多个节点)上执行它们。我注意到有一些测试案例由于导致失败NoSuchElementException。避免NoSuchElementException并确保始终找到该元素的最佳且可靠的方法是什么?


问题答案:

您永远无法确定会找到该元素,实际上这是功能测试的目的-
告诉您页面上是否有任何更改。但有一两件事肯定是有帮助是添加等待这往往导致元素NoSuchElementException

WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id<locator>));


 类似资料:
  • 问题内容: 我有以下内容: 但是,并非总是有一个结果会给我以下错误: NoSuchElementException:没有值 那么,如果没有值,我该如何返回? 问题答案: 您可以使用,它比检查要简单得多:

  • 我在android fragment中找到了许多避免内存泄漏的方法,但哪种方法是最好的? 1.将视图设置为null时onDestRoyView被调用 2.将所有子视图设置为null并删除该视图

  • 我正在一个项目,需要处理成千上万的活动套接字并发连接。现在我正在查看内存使用和V8引擎,我使用的是Node.js V0.10.19(稳定)

  • 问题内容: 我的网站最近遭到了一个无辜的代码的攻击: 那里没有SQL调用,因此我不担心SQL注入。但是,显然,SQL并不是唯一的注入方式。 该网站提供了解释以及避免代码注入的一些示例:http : //www.theserverpages.com/articles/webmasters/php/security/Code_Injection_Vulnerabilities_Explained.ht

  • 问题内容: 我认为这个问题经常出现在Web应用程序开发中。但是,我将尝试详细解释我的问题。 我想知道如何纠正这种行为,例如,当我有如下代码块时: 提交表单后,数据将插入数据库中,并产生消息 “完成操作” 。然后,如果刷新页面,则数据将再次插入数据库。 如何避免这个问题?任何建议将不胜感激:) 问题答案: 创建动作后不要显示响应;操作完成后重定向到另一个页面。如果有人刷新,则他们刷新的是您重定向到的

  • 问题内容: 我已配置PHP,以便打开魔术引号,并关闭全局寄存器。 我尽我所能一直为从用户输入派生的任何输出调用htmlentities()。 我有时也会在数据库中查找xss附带的常见信息,例如… 我还应该做些什么,以及如何确保自己 一直 想做的事情 始终 完成。 问题答案: 为了成功防止XSS,逃避输入并不是最好的选择。输出也必须转义。如果您使用Smarty模板引擎,则可以使用修饰符将所有敏感字符