我的目标是:
(最终验收测试应该由客户进行,测试字体等,但这对我们的测试环境来说是一个很好的预验收检查。客户可以专注于现在的其他事情。)
通常某些属性(如文本字段ID)已经更改或者其他内容,测试将在几周后中断。似乎记录的测试经常发生故障,所以最好是轻松记录新测试,而不是尝试维护和修改旧测试。
现在,我发现了一种全新的方法。也许录音不是正确的方法。 如果我们的客户可以用人类可读的自己的语言制作用例,机器可以理解并编译成网络记录(使用域特定语言,DSL)。 这不是科幻,它已经制作完,所以请继续阅读。 : - )
我尝试使用这些自动Web测试框架:
这些都没有提供我真正需要的......但是Selenium是最接近的。
我们的客户讲芬兰语,因此在软件项目开始时,在规范阶段,用户编写一个用例如下:
翻译:
现在......这是一个人类可读的用例,但它也可以编译为自动Web验收测试。打开,插入,按字段,按键是关键字,其他是值。
什么样的DSL工具对此有好处?
微软正在其名为MGrammar的奥斯陆项目中开发一种新的DSL制作工具。这意味着您可以制作自定义语言,以便非技术人员可以轻松使用计算机。 (与Cobol和Visual Basic相同的基本思想(和失败)。)
我发现有人已经用MGrammar制作了这种DSL,但它适用于Watin,而不是Selenium: http://www.codinginstinct.com/2008/11/creating-watin-dsl-using-mgrammar.html
因此持续集成服务器进程将是:
在持续集成服务器中运行Web测试通常意味着许多配置工作。所以,在我尝试这个之前,我很好奇,你怎么看? 您是否使用过相同类型的设置,您的体验是什么? (究竟是什么环境?)
如何使用DSL,它是否具有足够的用例功能,还是另一项无休止的开发任务?客户会生成测试吗?
答案 0 :(得分:1)
首先,Selenium可以与IE和其他浏览器以及Firefox一起使用;跨浏览器支持是其优势之一。这是list of supported browsers。
但是,如果您想要一个基于人类语言的DSL来编写测试,请查看Cucumber - 语法几乎与上面的示例完全相同。黄瓜已经有芬兰语支持 - 请参阅this link.
中的示例答案 1 :(得分:0)
Fitnesse和Selenium集成工具,如Selenesse(http://github.com/marisaseal/selenesse)或Fitnium(http://www.magneticreason.com/tools/fitnium/fitnium.html)也可以满足您的需求。但是,您需要找到将元素定位器放在客户编写的测试用例中的答案。如果客户使用记录仪放置定位器,则可能无法进行维护。如果客户编写这些步骤并且自动化测试人员/开发人员可以使用正则表达式,自定义位置策略来放置这些定位器,则此方法可能有效。
答案 2 :(得分:0)
TestPlan软件使用专门语言编写测试。它具有高度的特定领域,在Web环境中运行良好。它支持Selenium后端,因此您可以获得兼容性,而且无需浏览器即可运行,从而实现更快的测试。我已经在你正在寻找的设置类型的一些相当大的Web项目中使用它。
您的示例脚本可能如下所示:
GotoURL /SomePage
Click MyForm
SubmitForm with
%Params:name% Tuomos
%Submit% value:Next
end
就是这样。它很好地描述了用户想要做的事情并且是一个有效的测试。您可以将脚本组合到单元中并具有自定义功能。所以,如果你真的想要,你可以写出名字的Finish等价物。