Dav*_*cia 147 asp.net selenium automation watin automated-tests
我将很快开始编写一些自动化测试.似乎每个人都推荐WatiN和Selenium.您更喜欢哪种自动测试ASP.NET Web表单?哪些产品更适合您?
作为旁注,我注意到WatiN 2.0自2008年3月以来一直在CTP中,是否值得关注?
Jer*_*nen 108
只是想说我目前正在努力在2009年第一季度的某个地方试用WatiN 2.0.这将是对当前CTP 2.0版本的重大升级,并且基本上会给你相同的功能来自动化FireFox和IE作为版本1.3.0提供自动化IE.
所以不用担心.
希望这有助于您做出选择Jeroen van Menen Lead dev WatiN
Mar*_*ann 58
如果您希望在一个将继续得到社区改进和支持的框架中进行严肃的长期投资,Selenium可能是您最好的选择.例如,我刚刚在Matt Raible的博客上看到了这个信息:
截至周五,谷歌有超过50支团队每天在内部Selenium Farm上进行超过51,000次测试.96%的这些测试由Selenium RC和Farm机器正确处理.其他4%部分是由于RC错误,部分原因是测试错误,但隔离原因可能很困难.Selenium已被用作Google内部Web应用程序功能测试的主要技术.这是个好消息.
最近我还参加了一次Selenium聚会,了解到Google正在投入大量资源来改进Selenium并将其与WebDriver集成,后者是由Simon Stewart开发的自动化测试工具.WebDriver的一个主要优点是它控制浏览器本身而不是作为Javascript应用程序在浏览器中运行,这意味着像"同源"问题这样的主要障碍将不再是问题.
Col*_*ole 37
我们测试了两者并决定使用WaTiN.正如其他人所指出的那样,Selenium确实有一些在WaTiN中找不到的好功能,但我们遇到了让Selenium工作的问题,一旦我们这样做,它在运行测试时肯定比WaTiN慢.如果我没记错的话,我们遇到的设置问题源于Selenium有一个单独的应用程序来控制WaTiN正在处理的所有事情的实际浏览器.
Gry*_*ynn 30
我一直在尝试他们两个,这是我最初的想法......
华廷
好的
坏
脚本示例(C#).你不能用Selenium(不是我知道,至少)这样做:
class IEManager
{
IE _ie = null;
object _lock = new object();
IE GetInstance(string UrlFragment)
{
lock (_lock)
{
if (_ie == null)
{
var instances = new IECollection(true); //Find all existing IE instances
var match = instances.FirstOrDefault(ie=>ie.Url.Contains(UrlFragment));
_ie = match ?? new IE();
if (match==null) //we created a new instance, so we should clean it up when done!
_ie.AutoClose = true;
}
}
return _ie;
}
}
Run Code Online (Sandbox Code Playgroud)
硒
尽管如此,我最终还是和WatiN一起去了; 我主要打算编写小屏幕抓取应用程序,并希望使用LINQPad进行开发.附加到远程IE实例(我没有自己生成的实例)是一个很大的优点.我可以在一个现有的实例中摆弄...然后运行一些脚本...然后再次操作等等.这对Selenium来说更难,尽管我认为"暂停"可以嵌入脚本中,在此期间我可以直接用浏览器搞砸.
Igo*_*ejc 18
最大的区别是Selenium支持不同的浏览器(不仅仅是IE或FF,请参阅http://seleniumhq.org/about/platforms.html#browsers.
此外,Selenium还有一个远程控制服务器(http://seleniumhq.org/projects/remote-control/),这意味着您无需在运行测试代码的同一台机器上运行浏览器.因此,您可以测试您的Web应用程序.在不同的OS平台上.
一般来说,我建议使用Selenium.几年前我使用过WatiN,但我对它的稳定性并不满意(它现在可能已经改进了).对我来说,Selenium的最大优点是你可以测试Web应用程序.在不同的浏览器上
pen*_*eri 17
都不是.使用海狸鼠.它包裹了Selenium.更耐用.https://github.com/featurist/coypu
更新 Ye Oliver你是对的.好吧为什么它更好?就个人而言,我发现IE的Selenium驱动程序特别脆弱 - 在ajax重型网站上驱动Selenium进行单元测试时,我再次发现了一些"标准"驱动程序异常.
我提到过我想用c#编写我的脚本作为测试项目吗?是接受在连续构建部署中进行测试.
好的Coypu处理上述问题.它是Selenium的包装器,允许测试夹具,如,
browser.Visit("file:///C:/users/adiel/localstuff.htm")
browser.Select("toyota").From("make");
browser.ClickButton("Search");
Run Code Online (Sandbox Code Playgroud)
...它将启动(可配置的品牌)浏览器并运行脚本.它适用于范围广泛的区域,并且非常可扩展.
GitHub上有更多的例子,下面提到Olvier,Adrian的视频很棒.我认为这是在.Net世界中推动基于浏览器的测试的最佳方式,并试图遵循它的Ruby同名capybara
rba*_*all 12
我用过两者,他们似乎都工作正常.我的意见是Selenium,因为它似乎有更好的Ajax支持.我相信WaTiN已经成熟,但自从上次我使用它以来它应该有相同的东西.
最重要的是你喜欢哪种开发环境?Selenium和Watin有录像机,但Selenium在浏览器中,而watin在视觉工作室.+和 - 两者.
到目前为止,我们是一家纯粹的微软商店,为企业提供解决方案,并与WatiN合作.这可能在将来发生变化.
作为更新的来源:
Microsoft在MSDN Magazine 12/2010中打印了一个BDD-Primer,它结合了SpecFlow和WatiN(酷BDD行为驱动开发).它的作者Brandon Satrom(msft Developer Evangelist)也在2010年12月发布了一个视频网络广播,详细讲述了他上述发现的1:1.
2011年4月有一份关于支持ATDD/BDD 的白皮书,其中包括来自Christian Hassa的 SpecLog,SpecFlow和Team Foundation Server(验收测试驱动开发/行为驱动开发),他的团队构建了SpecFlow.
| 归档时间: |
|
| 查看次数: |
45661 次 |
| 最近记录: |