Selenium,Nunit最佳实践?

5
我想了解如何使用Selenium IDE和RC来创建好的自动化测试。有没有人感兴趣分享信息或讨论这个问题?特别是以下问题:
1)如何组织UI测试?目前我通过NUnit执行这些测试,并按照字母顺序执行测试。有更好的方法吗?(我用C#编写selenium脚本而不是Java)
2)如何记录结果?
3)模块化Selenium RC测试?我在这里遇到了问题。由于我通过NUnit执行我的测试,所以我唯一能想到的方法是为测试分配ID,以便它们按正确的顺序运行。另外,我不得不在textfixture类中一个接一个地编写所有测试。是否有更好的方法?我尝试创建其他文件,但当我在其中创建测试并选择在NUnit中运行时,看起来Selenium服务器甚至没有启动。
4)自动化测试的最佳实践是什么?有任何指向网站/书籍等的提示吗?
这些可能看起来非常简单,但我已经花了几周时间寻找更好的方法,因此如果有人愿意提供建议或输入,我会非常感激!
谢谢!
3个回答

8

我已经为您回答了以下每个问题。

  1. 测试不应该关心它们运行的顺序。如果你开始担心这个,你会开始引入测试的不稳定性。如果你需要在每个测试中登录,请这样做;如果你需要在测试期间注册多个用户,请这样做。测试应该总是能够独立运行。

  2. Nunit将其结果记录在一个XML文件中。这将列出通过和失败的内容,并且通常由几乎所有连续的工具以漂亮的方式呈现。

  3. 请参阅我对模块化Selenium RC测试脚本的最佳实践的回答。

    • 测试应该始终有一个已知的起点。在Selenium的上下文中,这可能意味着打开某个页面来启动工作流程。
    • 测试不应该依赖于任何其他测试来运行。如果一个测试要添加内容,请不要有一个单独的测试来删除它。这是为了确保如果一个测试出了问题,它不会意味着你需要检查很多不必要的失败。
    • 测试应该一次只测试一件事情。
    • 测试应该在自己运行后清理。

感谢您的精心组织和格式良好的回复! - Saavik

1

如果你想使用Selenium,我建议使用TestPlan前端代替其他语言。除了领域特定语言外,它还提供了良好的测试用例管理功能。你可以将测试组织成一个良好的层次结构,并执行所有测试并报告结果。

它处理了许多启动Selenium和平滑RC API中的许多困难的细节。


1
我刚刚浏览了这个内容。在模块化和有用的工具方面,我认为思考构建一个敏捷、维护良好的自动化UI测试框架比仅仅将selenium RC脚本模块化更为重要。Selenium 2: Testing Tools Begginner's Guide是一个很好的开始,可以了解如何开始构建一个良好的测试框架。在尝试2-3次失败后,我使用了(页面对象模式)[https://code.google.com/p/selenium/wiki/PageObjects] 取得了很大的成功。在过程方面,我发现最好从编写代码开始(你正在编写测试,所以测试应该很容易),但随着模式和结构的建立,积极地使用良好的OOP进行重构。我还推荐How Google Tests Software,以激励软件QA在组织层面上实践良好的测试方法,并了解何时使用自动化以及何时不使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接