2

我们混合了 ASP.NET 网络表单和即将推出的 MVC 项目;我追求可靠且可维护的 Web GUI 测试工具/框架;目前我们进行了一些 Watin 测试,看到 Watin 超过 15 个月没有得到积极的工作,我有点不愿意在这方面进行更多投资,或者我应该这样做吗?

有哪些选择,什么是最好的选择。

Selenium - 虽然有限的 Visual Studio 集成似乎是一个不错的选择。

Watin - 似乎已经过时并且似乎不能很好地应对现代 JQuery 网站。

Telerik Test Studio - 看起来很有前途,有人试过吗?这值得么?

对于 ASP.NET 和可能的 Visual Studio 集成,还有其他可行的选择吗?

我知道关于 ASP.NET Web 应用程序的 Web 测试框架存在一个现有问题,但它并没有真正回答任何问题。

对于绿色领域项目,人们使用什么进行自动化功能 UI 测试。

4

5 回答 5

3

我们还在研究测试我们的网络应用程序前端的方法。

目前我们有一些使用无头浏览器 phantomJS 的测试。测试是用 JavaScript 编写的,如下所示:

(function () {

   // require is part of phantom API
   var userName,
       page = require('webpage').create();

    page.open("http://<url of page to test>", function (status) {

        if (status !== 'success') {
            phantom.exit(1);
        } else {
            // get the text of the DOM element that displays the user name
            userName = page.evaluate(function() {
                return document.getElementById('userName').innerText;
            });

            if (userName !=== 'Guest') {
                phantom.exit(1);
            }
            phantom.exit();  // Success!
        }
    });

})();

我们使用这样的命令从 Jenkins 调用它(其中assert_Username_EqualsGuest.js包含上面的 JavaScript):

phantomJS.exe assert_Username_EqualsGuest.js 

我们也有类似的用 powerscript 编写的测试,它使用 System.Net.WebClient 类从 Web 服务器下载动态资源,断言返回的内容,并记录响应时间以跟踪服务器性能随时间的变化。也被詹金斯解雇了。

所以这个答案只是为了让你知道我们目前在做什么,但我们也在研究更好的方法。我很想听听其他人在做什么。

于 2012-10-23T13:12:43.063 回答
3

您使用的是什么版本的 Visual Studio?可能是你有一个高端的,这意味着你可以在 CodedUI 中编写测试脚本,这相对不错,并且可以使用你习惯的类似语言/工具集进行测试。http://msdn.microsoft.com/en-us/magazine/hh875174.aspx

如果不是,我会用 .net 绑定投票给 selenium,它确实是功能最齐全的 Web 自动化工具,您可能最容易获得帮助。以下网页告诉您如何让 selenium 在 Visual Studio 中工作http://www.joecolantonio.com/2012/07/31/getting-started-using-selenium-2-0-webdriver-for-ie-in -视觉工作室-c/

于 2012-11-09T22:46:48.327 回答
2

这并不能真正直接回答您的问题,但您应该查看 Martin Fowler 的测试金字塔文章

测试金字塔是 Mike Cohn 提出的一个概念,在他的《Succeeding with Agile》一书中进行了描述。它的要点是,您应该拥有比通过 GUI 运行的高级端到端测试更多的低级单元测试。

在我从事的项目中,我们使用各种测试实用程序(NUnit、MBUnit、xUnit 等)实现了单元测试,使用FitNesse进行服务(集成)测试,并将 GUI 测试留作手动任务(尽管如果需要,FitNesse 可以非常接近表示层)。这对我们来说效果很好。

于 2012-11-08T01:16:34.657 回答
2

如果您只想在 IE 中进行测试,您可以尝试IBM Rational Functional Tester。它不支持最新的 Firefox 版本(仅最高 10.6)

您可以从该网站下载 30 天免费试用版。我在这里发布了它https://sqa.stackexchange.com/questions/4995/reviews-feedback-on-rft

另一个软件是QA Wizard,但我没有直接的经验。

于 2012-10-23T06:53:13.983 回答
2

如果您愿意付费,Telerik Test Studio 是一款非常不错的产品。这是一个很棒的工具,适用于不同的浏览器。它有一个非常易于使用的记录功能,允许您在页面内指向和单击并选择要测试的元素。另一个工具(付费)是Test Complete,它的工作原理非常相似。查看这两种产品的视频,文档非常好。

这些工具的特点是它们无需手动编码,但如果 UI 无法满足您的需求,您也可以编写测试代码。

于 2012-10-23T13:20:54.550 回答