如何通过 xvfb 运行“gradle run”?

如何通过 xvfb 运行“gradle run”?

Ubuntu 的等效说明是什么?

在你的 CentOS 6.3 主机上

按照以下步骤设置 CentOS 6.3 主机以使用 Firefox 运行无头 Selenium 测试。

sudo yum -y install firefox Xvfb libXfont Xorg
sudo yum -y groupinstall "X Window System" "Desktop" "Fonts" "General Purpose Desktop" (installation takes a few minutes)
Launch an XWindows Virtual Frame Buffer(XVFB) session on display port 99: Xvfb :99 -ac -screen 0 1280x1024x24 &
Tell all XWindows applications in this terminal session to use the new Xvfb display port: export DISPLAY=:99
Start the Selenium server, eg: java -jar /opt/selenium-server-standalone.jar &
Now start your Selenium tests. The Selenium server should spawn a headless Firefox instance and your tests should run successfully.

https://gist.github.com/textarcana/5855427

我问是因为我使用 Gradle,所以这是在制作 Gradle 任务的上下文中,或者,不使用 jar,只是使用默认gradle run任务xvfb

优选地,我如何gradle run通过 xvfb 运行任务?

当前使用情况:

thufir@mordor:~/NetBeansProjects/selenium$ 
thufir@mordor:~/NetBeansProjects/selenium$ gradle run
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:run
http://thufir.github.io/javascript/
^Cthufir@mordor:~/NetBeansProjects/selenium$ 

答案1

您可能不想通过 Xvfb 运行 gradle 任务,而是想通过 gradle 任务在 X Windows Virtual Frame Buffer 中执行某些操作。

例如你的gradle test任务可能会这样做:

xvfb-run -a --server-args='-screen 0, 1024x768x24' google-chrome -start-maximized http://runMyLocalBrowserBasedTest > /dev/null & 

相关内容