asp.net – 使用.NET和Jenkins的Selenium性能 – 如何分析和改进
我有一个ASP.NET网站,我想用Selenium测试.我想在“临时”虚拟机上设置Jenkins实例,以自动运行测试.
问题是测试运行速度非常慢 – 比我的开发机器慢几倍.单个简单的测试可能需要2-3分钟. 我想知道这是否是预期的,如果像我这样的测试设置有任何明显的缺陷,并且我可以做什么来分析和改进测试套件的性能. 信息: 测试在配备Windows 7 64位的2.7GHz 2GB Ram虚拟机上运行. 以下是Jenkins完成的: >该网站从源代码管理中签出,并使用自定义web.config进行配置.主要区别在于它在发布模式下编译,并且它连接到不同计算机(也是同一服务器上的虚拟机)上的数据库. selenium项目使用NUnit和WebRunner. 示例测试如下所示: [Test,Combinatorial] public void AnExistingUserCanLogin( [ValueSource(typeof(Drivers),"Good")] IWebDriver driver) { // This function clicks on some buttons and fills in some forms. LoginUser(driver); // Make sure the user is now logged in Assert.IsTrue(driver.ElementIsPresent(By.ClassName("imgUserAvatar"))); Assert.IsTrue(driver.ElementIsPresent(By.CssSelector("a.my-profile"))); Assert.IsTrue(driver.ElementIsPresent(By.CssSelector("a.logout"))); } (“Drivers”类包含FF,IE,Chrome的lazily-instances webdriver实例.你可以猜出类实例的“好”静态属性) 解决方法
它是一个虚拟机的事实不应该是一个问题,RAM听起来像是好的.什么操作系统正在运行?某些Windows操作系统在不同位版本之间存在显着的速度差异(因为对硬件的要求).这在Vista中尤为明显,但我注意到Windows 7和Server 2003之间存在差异.
我发现运行64位虚拟机的机器是32位机器时存在很大问题.它似乎经常运行一段时间,然后继续运行测试将减慢.哪个应该是duh但主要的是可能有太多的VM从同一个地方运行.其他程序将受此影响,如果您的VM位于公司服务器场,则可以帮助您进行故障排除. 另一个产生重大影响的因素是,如果您针对不同的浏览器运行测试. IE8和IE9将采用相同的selenium命令并以不同的速度运行它们.我不知道为什么会这样,我只知道我已经看过了.确保登台机器具有当前版本的Chrome(或至少与您的开发机器相同). 登台机如何与数据库联网可能会产生重大影响.这似乎是一个非常小的机会,但如果两个VM之间存在可能对时间产生重大影响的防火墙垃圾. 我能想到的另一件事可能是改变时间长度,如果同时在登台机器上执行其他程序.检查CPU使用率可能会有所帮助.就个人而言,我注意到我的VM使用的CPU比我的个人机器多得多.如果是这种情况,我到目前为止找到的唯一解决方案是为VM提供更多的处理能力,或仅运行测试而不是其他任何东西. 祝好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – “无法同时分析32位和64位应用程序”错误
- asp.net – 为什么我的自定义404错误处理程序在部署到Web服
- asp.net-mvc – ASP.NET MVC 4“DictionaryValueProvider.C
- entity-framework-4 – 当超出范围时,Ninject不调用对对象的
- asp.net-mvc – 编译错误“无法在Web部署项目中加载类型’S
- ASP.NET Web API正文值限制
- 如何在asp.net Web应用程序(C#)中制作倒数计时器?
- asp.net – Elmah vs Elmah.MVC Nuget软件包 – 哪些使用和
- ASP.NET网站或Web项目
- 更改用户名ASP.net MVC 3会员资格
- asp.net-mvc – 用静态项绑定Html.DropDownList
- asp.net-mvc – 将动作方法参数传递给asp.net mv
- 如何在ASP.Net Core 2.0应用程序中使用Bootstrap
- 生成随机颜色的问题 – asp.net和c#
- asp.net-core-mvc – IN MVC6返回Json(行,JsonRe
- ASP.NET OpenWebConfiguration失败
- asp.net-mvc – asp.net mvc:TryUpdateModel返回
- asp.net – 反伪造cookie令牌和表单字段令牌在MV
- asp.net-core – 无法从Client访问IdentityServe
- 为ASP.NET/ASP.NET MVC配置IIS(Windows 7)3