【问题标题】:Watin and Telerik ControlsWatin 和 Telerik 控制
【发布时间】:2012-03-29 08:38:11
【问题描述】:

我想问一下是否有人知道用 Watin 测试 Telerik 控件的简单方法。

我们即将开始使用它,但在此之前我想看看是否有什么我需要知道的。

我可以看到我们将遇到的问题是,即使是最小的事情发生了变化,那么我们所有的测试也会中断。

非常感谢任何建议。

【问题讨论】:

  • 我认为您不应该测试 Telerik 的控件 - 这是他们的责任。
  • 好点!但是您将如何对整个系统进行验收测试以确保其正常工作?

标签: asp.net-mvc-3 telerik watin


【解决方案1】:

我可以看到我们将遇到的问题是,即使是最小的事情发生了变化,那么我们所有的测试也会中断。

这可能/将适用于您网页的所有部分,包括 Telerik 控件,具体取决于您的测试结构。理想情况下,您的元素将分配 ID,您将使用 Page 类和自定义控件对象从实际测试代码中删除所有 HTML 引用。然后,如果网页(或控件)发生更改,请验证更改是否符合预期,然后更改 WatiN 页面代码(或控件代码)并重新运行测试。

WatiN 页面类入门教程在这里:http://watinandmore.blogspot.com/2009/06/introducing-page-class.html

基本上,您希望您的测试代码看起来像 myPage.PickDate("3/29/2012") 而不是 ie.Tables[3].TableRows[2].TableCells[4].Textbox(Find.ByClass("datePicker")).TypeText("3/29/2012")

更改可以、确实并且应该导致测试失败,但是,我可以证明,通过一个好的页面(或控件)类设置来抽象出 HTML DOM 和其他细节,留下非 HTML 填充的测试代码,这意味着当确实发生变化时,它们通常很容易重新开始工作。

注意:Selenium 也有一个 Page 类的概念,但我目前还没有使用太多。底线:如果您编写了大量直接在测试代码中引用 HTML DOM 的测试,那么无论您使用 WatiN 还是 Selenium 或其他什么,您都将面临维护难题。

补充:至于您最初的问题:您可以在 WatiN 中使用 Telerik 控件吗?是的,您很可能可以,但是根据控件的不同,您可能需要一些创意,甚至可能从您的测试中调用 javascript 方法(页面对象;))。我被几个控件(非 Telerik)难住了,但大多数我最终都弄明白了。

【讨论】:

  • 除了 Page 类之外,还有 Control 类,因此,虽然是一项复杂的任务,但您可以编写一个控件来封装所有 Telerik 功能,并且只公开有用的方法(例如 calendar. PickDate("3/29/2012") 或 calendar.PageBackOneMonth())。在您的页面类上,您将公开控件,例如myPage.StartDate.PickDate("3/29/2012") 和 myPage.EndDate.PickDate("4/29/2012")。正如 OCary 所说,这使您免于维护这些测试的痛苦世界,并使您的测试非常易读。
  • 更好的是,使用 Page 类,您可以添加辅助方法 - 例如,在 Login 页面类中,除了公开 Username 和 Password 字段以及 Login 按钮之外,您还可以添加 SignIn (string, string) 方法,它将填充适当的字段并模拟按钮的单击。您可以通过这种方式构建一个非常强大的 Web 应用程序模型。
【解决方案2】:

我知道你问过关于 WatiN 的问题,我知道我可能会被否决而被遗忘,但我可能会推荐 Selenium。它似乎被更广泛地使用,当我们评估这两者时,我们发现 Selenium 更容易使用,因为 Firefox 插件可以记录/生成测试。这意味着我们的非技术人员可以设置测试。

从那时起,我们就成功地使用 Selenium 来测试使用 Telerik 控件的 ASP.NET 站点。我只遇到了一个问题,RadNumericTextBoxes,我在这里记录了一个修复:http://www.msigman.com/2012/02/entering-radnumerictextbox-selenium-webdriver-1-6-0/

我目前正在编写操作指南:http://www.msigman.com/2012/03/automated-testing-asp-net-web-application/(无耻插件)。

【讨论】:

    【解决方案3】:

    您还应该考虑评估我们的功能自动化测试工具Telerik's Test Studio。 (披露:我是他们的 Test Studio 传道者。)

    当您使用 Telerik 控件时,Test Studio 真的很出色。您将获得一些很棒的附加功能,能够更深入地研究控件周围的验证和操作。

    更重要的是,Test Studio 默认处理集中定位器和页面,因此您不需要任何额外的努力来最好地管理您的 UI 更改。

    【讨论】:

    • Test Studio 也适用于任何其他控件。我们将它用于只有标准 Microsoft 控件的 ASP.NET Winforms 应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多