Selenium,Nunit最佳实践?

时间:2010-10-20 21:33:03

标签: nunit selenium

我想了解更多有关如何使用Selenium IDE和RC创建良好的自动化测试的信息。有没有人有兴趣分享信息。或讨论这个?特别适用于:

1)组织UI测试的好方法是什么?现在我正在通过NUnit执行这些测试,并按照字母名称的顺序执行测试。有没有更好的办法。 (我用C#而不是java编写selenium脚本)

2)结果如何记录?

3)模块化Selenium RC测试?我在这里遇到了问题。由于我通过NUnit执行测试,我能想到的唯一方法是为测试提供ID,以便它们以正确的顺序运行。另外,我必须在textfixture类中一个接一个地编写所有测试。又有没有更好的方法?我尝试创建其他文件但是当我在那里创建测试并选择它们在NUnit中运行时,看起来selenium服务器甚至都没有启动。

4)自动化测试的最佳实践是什么?任何指向任何网站/书籍等的指针?

这些似乎很简单,但我花了几周的时间试图想出更好的方法,所以如果有人愿意提供建议或意见,我会非常感激!

谢谢!

3 个答案:

答案 0 :(得分:8)

我已在下面为您解答了每个问题。

  1. 测试不应该与他们运行的顺序有关。如果你开始担心,你将开始引入测试的片状。如果您必须在每次测试时登录,那么如果您需要在测试期间注册一些用户,请执行此操作。测试应始终能够自行运行。

  2. Nunit将其结果记录在XML文件中。这将有一个传递列表并失败,通常几乎所有连续的

  3. 以漂亮的方式呈现
  4. 请参阅我对Best Practices for modularizing Selenium RC test scripts

  5. 的回答
    • 测试应始终有一个已知的起点。在Selenium的背景下,这可能意味着打开某个页面以启动工作流程。
    • 测试不应该依赖任何其他测试来运行。如果测试要添加一些没有单独的测试来删除它。这是为了确保在一次测试中出现问题时,并不意味着您有很多不必要的检查失败。
    • 测试一次只能测试一件事。
    • 测试应该自行清理。

答案 1 :(得分:1)

如果您的愿望是使用Selenium,那么我建议改为使用TestPlan前端而不是其他语言。除了特定于域的语言之外,它还提供了很好的测试用例管理。您可以将测试组织成一个漂亮的层次结构,它将执行所有测试并报告结果。

它负责启动Selenium的许多细节,并解决了RC API中的许多困难。

答案 2 :(得分:1)

我刚刚经历过这个。在模块化和有用的工具方面。我认为,与简单地模块化硒RC脚本相比,更多地考虑构建灵活,维护良好的自动化ui测试框架非常重要。 Selenium 2: Testing Tools Begginner's Guide是了解如何开始构建良好测试框架的良好开端。在失败2-3次获得自动化测试框架后,我在(页面对象模式)[https://code.google.com/p/selenium/wiki/PageObjects]上获得了很大的成功。在进程方面,我发现最好从编写代码开始(你正在编写测试,因此它应该很容易测试),但是随着模式和结构的开始积累,使用优秀的OOP进行积极的重构。我还建议How Google Tests Software一般是软件质量保证的动机,组织层面的良好测试实践,以及何时何时不使用自动化。