对于我们的webapp测试环境,我们目前正在使用带有大量单元测试的watin,我们正在寻求转向selenium并使用更多框架。
我们目前正在关注Selenium2 + Gallio + Xunit.net,
然而,我们真正想要解决的一件事是编译测试用例。理想情况下,我们需要可以使用intellisense在VS中编辑的测试用例,但是每次我们做一个小的更改时都不需要重新组装程序集,
是否有任何框架可能有助于解决此问题? 有没有很好的UI工具来帮助管理大量的测试用例?
理想情况下,我们希望测试用例编写过程简单,以便更多测试人员可以帮助编写它们。
欢呼声
答案 0 :(得分:0)
如果添加新测试,您将无法编译测试框架。
然而,有一些可能性。
首先:
您可以像xml或类似格式一样开发本地语言。它看起来像这样:
[代码] action name =“OpenProfile” 参数名称=“用户名”值=“TestUser” [/代码]
完成此操作后,您可以简单地使用解释器并将此xml序列化为对象。然后使用反射,您可以在相应的类中调用相应的函数。在你实现了很多动作后,当然完全模块化和精心设计的结构(就像每个页面都有自己的对象和每个页面继承的基础对象),你将能够自己添加基于xml的测试而不需要重建自己的框架。
您会看到您有以下操作:登录,转到个人资料,转到编辑个人资料,更改密码,保存,查看电子邮件etcetc。然后你可以进行如下测试:登录更改密码,登录编辑个人资料用户名......依此类推。而你只会创建新的xmls。
您可以寻找支持类似行为的框架,其中有一些。其中最好的是 cucumber 和 fitnesse 。这些都支持高级测试用例编写和低级功能构建。
所以基本上,一旦你准备好你的框架,你所要做的就是编写测试。
希望有所帮助。
盖尔盖伊。
答案 1 :(得分:0)
你可以用像ruby(e.g., IronRuby)或python这样的语言编写它们,这种语言没有这种方式的显式编译步骤。
如果您使用的是已编译的编译语言,则需要进行编译。使组件尺寸合理,快速换档F6(我将其重新连接以移动Ins)将编译您当前的项目。 (Shift Ctrl-B通常会执行大量冗余操作)。然后让NUnit在检测到程序集更改时自动重新运行测试(或者对http://xunit.codeplex.com/workitem/8832进行投票并将其放入xunit GUI运行程序中。)
您可能还会发现CR,R#和/或TD.NET可以为您提供加速流量的功能。例如,我相信CR会检测哪些测试已经发生了变化并且做了什么(目前它不支持更高级的xunit.net测试样式,因此我不会日常使用它)