我们开发自定义调查网站,我正在寻找一种方法来自动化这些网站的模式测试。调查通常包含许多复杂的规则和分支,这些规则和分支也是根据项目的响应方式触发的。所有调查在发布给客户之前都经过严格测试。该测试导致大量手动工作。我想通过回答问题和验证数据库中的结果来了解一些可用于自动化这些测试的选项。调查站点由引擎生成,该引擎创建和写入asp页面并接收响应以处理到数据库中。因此,我可以确定测试网站的唯一方法是与网页本身进行交互。我想在某种程度上我需要构建某种类型的机器人;我真的不太了解它们背后的设计。
有人可以提供一些如何实现这一目标的建议吗?谢谢你的时间。
布雷特
答案 0 :(得分:10)
查看硒:http://selenium.openqa.org/
另外,请查看其他问题的答案:https://stackoverflow.com/questions/484/how-do-you-test-layout-design-across-multiple-browsersoss
答案 1 :(得分:5)
您还可以查看WatiN。
答案 2 :(得分:0)
听起来您的引擎可以使用类似Test::WWW::Mechanize
的内容生成测试脚本答案 3 :(得分:0)
通常的测试方法适用;白盒子和黑盒子。
对您进行白盒测试可能意味着让您的应用程序能够使其进入特定状态,然后您可以预测您期望的结果。
黑匣子可能意味着您点击了某个页面,然后考虑可能的结果是否有效。重复并冲洗,直至获得足够的覆盖率。
我们使用的另一件事是监控我们服务的统计数据。我们是否在此页面上获得了预期的点击次数。我们经常运行a / b测试,并且我已经针对重构代码运行了a / b测试,以验证在推出之前没有任何改变。
/阿伦
答案 4 :(得分:0)
我可以想到几个应该完成工作的优秀Web应用程序测试套件 - 一个免费/开源和一个广告:
两者都可以通过根据与Web应用程序的交互验证数据库记录来创建测试套件。
你是基于Windows / ASP 的事实可能意味着TestComplete将使你运行得更快,因为它是Windows和.NET的原生。您可以下载免费试用版,看看它在投资前是否适合您。
答案 5 :(得分:0)
查看Symfony框架附带的单元测试框架“lime”。 http://www.symfony-project.org/book/1_0/15-Unit-and-Functional-Testing。你没有提到你的语言,石灰是php。
答案 6 :(得分:0)
我会建议机械化宝石,可用于红宝石。它非常直观易用。
答案 7 :(得分:0)
我将QEngine(商业)用于同一目的。我需要添加一个数据并在UI中检查相同的内容。我写了一个脚本,它执行此操作并在循环中调用它。数据可以通过csv或excel传递。 检查www.qengine.com,你也可以试试Watir。
答案 8 :(得分:0)
我的提案是QA代理(http://qaagent.com)。这似乎是一种新方法,因为您不需要安装任何东西。只需在基于浏览器的ide中开发Web测试即可。顺便说一下,您可以使用jQuery和java脚本开发测试。真的很酷!