java - 可靠的 Web 应用程序 GUI 测试

标签 java selenium testing

我目前正在使用Selenium用于测试我们的网络应用程序的界面。然而,它不是很可靠(很难设置一个好的等待超时,在任何涉及框架的网页中使用绝对是一场噩梦)并且缺乏许多功能(弹出窗口/下载)。

我看了一下http://sikuli.csail.mit.edu/并且非常喜欢它,但同样,它不是很可靠,因为它经常无法识别正确的按钮/链接。

测试 Web 应用程序的好方法是什么?

PS:即使测试人员对代码内部的了解为零(甚至是方法签名),我也希望能够进行测试。

最佳答案

不幸的是,UI 测试通常不太可靠。必须使用XPath ,因为页面上的元素没有设置 ID。必须使用框架(我讨厌框架,很高兴它在 HTML5 中被弃用)。

不幸的是,这是野兽的本质,我发现 Selenium(我最喜欢的浏览器 UI 测试工具)的一个主要问题是,人们开始使用 Selenium IDE,它试图记录你所做的一切,但它只能做太多使得测试不可靠。

记录/重放工具应称为记录/调整/重放,以便它可以正确处理测试。

为 Selenium RC 或 WebDriver(这些当前正在合并以创建 Selenium 2)编写测试可以让您处理在 Selenium IDE 中可能遇到的问题。它使您可以使用 Java、Python、C# 等编程语言编写测试。因为您可以向测试添加条件。

我让技术含量较低的人使用 Selenium 的方法是创建一个 DSL供他们使用,以便在编写测试时成为一种更自然的语言。

关于java - 可靠的 Web 应用程序 GUI 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2114548/

相关文章:

java - 从双向链表中删除所有出现的给定值

java - 在 Mojo 中使用 @requiresDependencyResolution 时调试 ClassNotFoundException 抛出我的 Maven Mojo

internet-explorer - 使用 Selenium 处理浏览器弹出窗口

c# - 如果浏览器最小化,Selenium Chrome C# 将无法工作

c# - 如何测试 API

java.lang.Math—— “within 1 ULP” 是独占还是包含?

java - 使用 lineWrap 时调整 JTextArea 的大小

python - 如何在 Python 中使用 Chrome 关闭 Selenium 中的命令行日志记录

r - 在 RStudio 中调试 'testthat' 测试

Angular 5 模块构造函数中的测试代码