我目前正在使用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/