我试图运行硒无头(不浏览器出现).其他问题,必须指出 xvfb 作为工具来做到这一点。然而,它显示高度不稳定的崩溃,所有的时间,所以我在寻找另一个替代方案。

是否有一个非xvfb的方式运行硒无头?

有帮助吗?

解决方案

我不认为你可以不运行X服务器上运行的浏览器。

如果你不喜欢的Xvfb,那么作为帕斯卡尔说,你最好的选择可能是运行一个VNC服务器 - 我个人很喜欢的 Xtightvnc 的。您正在运行,这意味着A(无头)X服务器,你可以到VNC在任何时间,万一出了问题,你想看看它。我一直有一个VNC服务器上运行,而我跑我的测试与$ DISPLAY环境变量指向该服务器。

(有人的downvoted我,也许我要澄清:像Xtightvnc X11 VNC服务器不一样,在Windows或OS X通常的VNC服务器,这将只是共享现有屏幕在网络上不要混淆。 - ))

其他提示

我感到惊讶。我用硒和Xvfb几次,没有任何问题和许多其他用户正在这样做了。你可以更具体的关于你设置的问题你都面临着?你怎么开始Xvfb?你能提供 xvfb.log?

然而,为了回答你的问题,它是可以使用X程序服务器。例如见 这页 对于一些说明。它实际上是难以被更准确的,没有任何细节关于你的配置。

运行Chrome浏览器与--headless,也是它可以让你减少资源usage.Use 的 ChromeOptions.addArguments( “ - 无头”, “窗口尺寸= 1024,768”, “--no-沙箱”) 实现这一目标。此方案假设安装了Chrome浏览器和Chromedriver。

下面是我的简单硒Java测试是在我的詹金斯作业用途

    package com.gmail.email;

import java.util.concurrent.TimeUnit;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class FirstTest {
    private static ChromeDriver driver;
    WebElement element;

    @BeforeClass
    public static void openBrowser(){

        ChromeOptions ChromeOptions = new ChromeOptions();
        ChromeOptions.addArguments("--headless", "window-size=1024,768", "--no-sandbox");
        driver = new ChromeDriver(ChromeOptions);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    }

    @Test // Marking this method as part of the test
    public void gotoHelloWorldPage() {
        // Go to the Hello World home page
        driver.get("http://webapp:8080/helloworld/");

        // Get text from heading of the Hello World page
        String header = driver.findElement(By.tagName("h2")).getText();
        // Verify that header equals "Hello World!"
        Assert.assertEquals(header, "Hello World!");

    }

    @AfterClass
    public static void closeBrowser(){
        driver.quit();
    }
}

更多细节在这里 https://github.com/SeleniumHQ/docker-selenium/issues/429

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top