在Ubuntu机器上运行的selenium服务器上启用Firefox中的java插件



我设置了一个selenium服务器,以便在ubuntu机器上远程运行。我的测试是用Java编写的,它看起来像这样:

(...)
// setup the WebDrive
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability(FirefoxDriver.PROFILE, setupBrowser());
mDriver = new RemoteWebDriver(new URL("http://MY-SERVER-IP:4444/wd/hub"), dc);
(...)
private FirefoxProfile setupBrowser() {
    FirefoxProfile fp = new FirefoxProfile();
    fp.setAcceptUntrustedCertificates(true);
    fp.setAssumeUntrustedCertificateIssuer(false);
    fp.setPreference("browser.download.folderList",2);//browser dir
    fp.setPreference("browser.download.dir", mExtractsDir);
    fp.setPreference("browser.helperApps.neverAsk.saveToDisk","text/plain");
    fp.setPreference("browser.helperApps.neverAsk.openFile","text/plain");
    fp.setPreference("plugin.default.state", 2);
    fp.setPreference("plugin.state.java", 2);
    fp.setPreference("security.enable_java", true);
    fp.setPreference("browser.helperApps.alwaysAsk.force", false);
    fp.setPreference("browser.download.manager.alertOnEXEOpen", false);
    fp.setPreference("browser.download.manager.focusWhenStarting", false);
    fp.setPreference("browser.download.manager.useWindow", false);
    fp.setPreference("browser.download.manager.showAlertOnComplete", false);
    fp.setPreference("browser.download.manager.closeWhenDone", false);
    return fp;
}
(...)

然后,我在我的远程机器上启动了一个Selenium服务器,运行my-server-IP:4444中的Ubuntu Linux,执行以下命令:

$ Xvfb :0 -screen 0 1024x768x24 2>&1 >xvfb.log &
$ export DISPLAY=:0
$ nohup xvfb-run java -jar selenium-server-standalone-2.45.0.jar > selenium.log &

问题:我的测试代码正在加载的网站需要java插件,但它没有加载。如何加载java插件?我知道它没有加载,因为我使用wdriver.get指向官方java测试网站,并使用以下代码拍摄了浏览器的屏幕截图,可以看到java测试插件没有加载:

Augmenter augmenter = new Augmenter(); 
TakesScreenshot ts = (TakesScreenshot) augmenter.augment(mDriver);
File srcFile = ts.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(srcFile, new File("/tmp/firefoxstopped.png"));

问题:在这种情况下,我如何在Firefox中启用java插件?

记住阅读有关嵌入HTML中的Java小程序的内容。你能分享HTML的代码吗?如何嵌入插件?

您可以在带有navigator.plugins 的浏览器中看到支持的插件

类似NPAPI的Java插件很快就会被弃用。

您可以在Java的支持下编译类似XULRunner o Firefox的浏览器,并使用JavaScript加载jar文件。

相关内容

最新更新