首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.NET和Jenkins的Selenium性能--如何分析和改进它?

使用.NET和Jenkins的Selenium性能--如何分析和改进它?
EN

Stack Overflow用户
提问于 2012-07-19 13:00:55
回答 1查看 930关注 0票数 5

我有一个ASP.NET网站,我想用Selenium进行测试。我希望在“暂存”虚拟机上设置Jenkins实例,以便自动运行测试。

问题是测试运行得非常慢--比在我的开发机器上慢几倍。一个简单的测试可能需要超过2-3分钟.

我想知道这是否是意料之中的,像我这样的测试设置是否存在明显的缺陷,以及我是否可以做些什么来分析和提高测试套件的性能。

信息:

测试运行在带有Windows 7 64位的2.7GHz 2GB Ram虚拟机上。我的开发机器类似,但有32位的Win安装。

以下是詹金斯所做的工作:

  • 网站将从源代码管理中签出,并配置为自定义web.config。主要的区别在于它是在发布模式下编译的,并连接到另一台计算机(也是虚拟机,位于同一台服务器上)上的数据库。
  • IIS正在监视网站的目录并自动重新加载更改。
  • 运行以下命令(经过消毒的目录):nunit-控制台Selenium-Project /labels
  • 这些测试是在Chrome网络驱动程序上运行的。

selenium项目使用NUnit和WebRunner。驱动程序实例在所有测试之前,在SetUp类中的SetUpFixture属性中创建一次。它们只在类的TearDown属性中删除一次。

示例测试如下所示:

代码语言:javascript
复制
[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")));
}

(“驱动程序”类包含FF、IE、Chrome的懒惰实例webdriver实例。您可以猜测类实例的“好”静态属性是什么)

EN

回答 1

Stack Overflow用户

发布于 2013-04-26 15:26:28

事实上,它是一个VM不应该是一个问题,和RAM听起来是好的。但是运行的操作系统是什么呢?一些Windows操作系统在不同的位版本之间有显著的速度差异(因为对硬件的需求)。这在Vista中尤其明显,但我注意到了Windows 7和Server 2003之间的区别。

我已经发现,如果运行64位虚拟机的机器是32位机器,那么存在一个巨大的问题。它似乎经常工作一段时间,然后,随着它继续运行,测试将放慢速度。这应该是个废话,但最主要的是,可能有太多的VM在同一个地方运行。其他程序将受此影响,如果您的VM位于公司场中,这将有助于排除故障。

另一个产生重大影响的因素是,您是否正在针对不同的浏览器运行测试。IE8和IE9将使用相同的selenium命令,并以不同的速度运行它们。我不知道这是为什么,我只知道我看到了。确保暂存机具有当前版本的Chrome (或至少与开发机器相同)。

如何将暂存机联网到数据库可能会产生影响。这似乎是一个非常小的机会,但如果有防火墙垃圾之间的两个VM,可以有重大影响的时间。

我唯一能想到的另一件事可能是改变时间长度,如果同时在暂存机上执行其他程序的话。检查CPU的使用情况可能有帮助。就我个人而言,我注意到我的VM使用的CPU比我的个人机器多得多。如果是这样的话,到目前为止,我找到的唯一解决方案是给VM更多的处理能力,或者只运行测试,而不是其他任何东西。

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11561443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档