有没有办法加快硒服务器加载时间?

2022-09-03 07:12:51

根据设计,Selenium 会在每次运行新测试时制作一个新的 Firefox 配置文件副本。我发现这个复制时间是一个相当大的瓶颈,特别是在运行100s测试时。(5-15 秒重新复制配置文件)。

有没有人知道任何覆盖行为?我宁愿我的Selenium服务器只是重用相同的firefox配置文件。我知道这违反了“干净地设置你的测试夹具”的理念,但这是我愿意走的捷径,因为我的测试不会对我的firefox配置文件造成实质性的改变,以至于危及未来的测试。


答案 1

我同意这是一个问题。每次都有一个新的Firefox进程副本是件好事,但是通过重新生成Firefox配置文件将启动时间加倍有点过分。如果您打开有关 http://jira.openqa.org 的错误报告,并在 patrick@browsermob.com 上给我发送电子邮件,我将很乐意确保我们找到解决方案。

PS:我已经解决了这个问题,作为我自己的一次性问题。我们使用相同的Firefox配置文件,只是对缓存和cookie DB进行核蚀。但我真的应该把这个变化修补回硒源。


答案 2

只需将下面的代码移出测试设置并放入夹具设置中,并保留硒实例的全局(代码假定为NUnit)。

[TestFixtureSetUp()]
public void FixtureSetup()
{
    selenium = New DefaultSelenium("localhost", 4444, "*firefox", "http://localhost/");
    selenium.Start();
    selenium.SetTimeout("30000");
    selenium.Open("/");
}

然后,您的测试设置应如下所示:

[SetUp()]
public void SetUpTest()
{
    selenium.Open("default.aspx");
    selenium.WaitForPageToLoad("30000");
}

推荐