我在这里完全不知所措,试图进行最小的Selenium RC风格测试。网络上的很多用户都描述了我遇到的问题,但在我的案例中,没有一个广泛不同的解决方案解决了这个问题。会发生什么是Firefox会打开,但对我来说看起来像一个空的配置文件,因为它打开了“欢迎使用Firefox!”页。除此之外,浏览器和Selenium服务器日志中没有任何反应我发现:
DEBUG [12] org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory - Requested browser string '*firefox c:\progra~2\mozill~1\firefox.exe' matches *firefox
DEBUG [12] org.openqa.selenium.browserlaunchers.locators.BrowserLocator - Checking whether Firefox 3 launcher at :'c:\progra~2\mozill~1\firefox.exe' is valid...
DEBUG [12] org.openqa.selenium.browserlaunchers.locators.BrowserLocator - Discovered valid Firefox 3 launcher : 'c:\progra~2\mozill~1\firefox.exe'
INFO [12] org.openqa.selenium.server.BrowserSessionFactory - Allocated session 962d2221ccb4459b9adbad1b8734850c for http://www.google.com, launching...
DEBUG [12] org.openqa.selenium.server.browserlaunchers.ResourceExtractor - Extracting /customProfileDirCUSTFFCHROME to C:\Users\zb\AppData\Local\Temp\customProfileDir962d2221ccb4459b9adbad1b8734850c
INFO [12] org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher - Preparing Firefox profile...
INFO [12] org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher - Launching Firefox...
DEBUG [12] org.openqa.selenium.server.FrameGroupCommandQueueSet - waiting for window 'null' local frame 'null' for 1800 more secs
DEBUG [12] org.openqa.selenium.server.FrameGroupCommandQueueSet - waiting for condition for 1000 more ms
DEBUG [12] org.openqa.selenium.server.FrameGroupCommandQueueSet - got condition? : false
然后每秒重复最后三行,直到我再次停止Selenium服务器。
这是我的测试代码:
import com.thoughtworks.selenium.DefaultSelenium;
public class Runner {
public static void main(String[] args) {
DefaultSelenium selenium = new DefaultSelenium("localhost", 4444,
"*firefox c:\\progra~2\\mozill~1\\firefox.exe",
"http://www.google.com");
selenium.start();
selenium.open("/");
selenium.type("q", "test");
selenium.click("btnK");
selenium.stop();
}
}
我试过了:
这一切都没有帮助,最终就像我上面描述的那样。我在Windows 7机器(64位)上。顺便说一句,我试过的一个小型WebDriver测试按预期工作。
编辑重命名问题,因为服务器实际上并没有“挂起”,它只是无法正常工作。
答案 0 :(得分:1)
我回到了Firefox 17 ESR(Extended Support Release),突然间测试恢复了生命(使用Selenium服务器2.33.0)。
这个问题似乎是Selenium服务器和Firefox之间版本不兼容的指标。不幸的是,在这个问题的文档中找不到太多或者任何东西 - 但是,正如@Pavel Janicek所提到的那样,Selenium RC已被弃用。我从CHANGELOG能够掌握的是Selenium服务器2.32.0明确支持Firefox 10 ESR,17 ESR,19和20.对于2.33.0,没有提到其他浏览器版本,留下Firefox 21 +官方不受支持,although not everyone agrees。
要将其包装起来:如果您看到此错误,唯一的解决方案可能是在当前CHANGELOG中逐步下载支持的浏览器列表,直到您的测试再次运行。
答案 1 :(得分:1)
我遇到了同样的问题,但我可以通过从https://code.google.com/p/selenium/downloads/list更新到selenium-server-standalone-2.35.0.jar来解决它,使用apt-get(版本在Ubuntu 12.04上安装Firefox 24)是24.0 + build1-0ubuntu0.12.04.1)。