根据设计,Selenium会在每次运行新测试时制作Firefox配置文件的新副本.我发现这个复制时间是一个相当大的瓶颈,特别是在运行100次测试时.(重新复制配置文件需要5-15秒).
有谁知道这有任何覆盖行为?我更喜欢我的Selenium服务器只重用相同的firefox配置文件.我知道这违反了"干净地设置你的测试设备"的理念,但它是我愿意采取的捷径,因为我的测试并没有对我的firefox配置文件产生重大影响,足以危及未来的测试.
我同意这是一个问题.很高兴每次都有一个新的Firefox进程副本,但通过重新生成Firefox配置文件来缩短启动时间有点过分.如果您在http://jira.openqa.org上打开错误报告并通过电子邮件发送到patrick@browsermob.com,我将很乐意确保我们获得解决方案.
PS:我已经为自己解决了这个问题.我们使用相同的Firefox配置文件,只是核对缓存和cookie数据库.但我真的应该把这个改变补回到Selenium来源.
这只是将下面的代码移动到测试设置之外并进入夹具设置并保持selenium实例的全局(代码假设为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"); }