2012-02-08 76 views
0

當詹金斯作業運行我得到這樣的輸出:如何在OSX獅子與配置的Xvnc詹金斯Maven項目

...

啓動Xvnc的

[workspace] $ /Applications/VNCServer.app/OSXvnc-server -rfbauth /Applications/VNCServer.app/pass.word :11 -geometry 800x600 

2012-02-08 22:04:05.375 OSXvnc-server[3412:707] Arguments: -rfbauth /Applications/VNCServer.app/pass.word :11 -geometry 800x600 

2012-02-08 22:04:05.394 OSXvnc-server[3412:707] Main Bundle: /Applications/VNCServer.app 
[workspace] $ /bin/sh -xe /var/folders/5d/jp_23pvd3bq5331x7myfcrym0000gq/T/hudson487661983531354780.sh 

2012-02-08 22:04:05.425 OSXvnc-server[3412:707] Loading Bundle /Applications/VNCServer.app/Contents/Resources/TigerBundle.bundle 

Parsing POMs 
2012-02-08 22:04:05.441 OSXvnc-server[3412:707] Loading Bundle /Applications/VNCServer.app/Contents/Resources/JaguarBundle.bundle 

2012-02-08 22:04:05.447 OSXvnc-server[3412:707] Running in Little Endian 

2012-02-08 22:04:05.448 OSXvnc-server[3412:707] Pasteboard Inaccessible - Pasteboard sharing disabled 

2012-02-08 22:04:05.449 OSXvnc-server[3412:707] Waiting for clients 

2012-02-08 22:04:05.449 OSXvnc-server[3412:2c03] Using Private Event Source 

2012-02-08 22:04:05.450 OSXvnc-server[3412:2c03] No Event Source -- Using 10.3 API 

2012-02-08 22:04:05.451 OSXvnc-server[3412:2c03] Using Dynamic Event Tap -- HID for console user 

2012-02-08 22:04:05.452 OSXvnc-server[3412:2c03] Registering Bonjour Service(_rfb._tcp.) - jjmacbook.local 

2012-02-08 22:04:05.452 OSXvnc-server[3412:3503] IPv6: Started Listener Thread on port 5901 

2012-02-08 22:04:05.453 OSXvnc-server[3412:2c03] Started Listener Thread on port 5901 

[workspace] $ /Library/Java/Home//bin/java -cp /Users/jenkins/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.2.jar:/Users/jenkins/.jenkins/tools/Maven/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main 

/Users/jenkins/.jenkins/tools/Maven /Users/jenkins/.jenkins/war/WEB-INF/lib/remoting-2.9.jar /Users/jenkins/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.2.jar 50302 

<===[JENKINS REMOTING CAPACITY]===>channel started 

Executing Maven: -B -f /Users/jenkins/.jenkins/jobs/chess-svg/workspace/pom.xml clean install 

但是自動化UI測試仍然在我的屏幕上彈出窗口。

使用的vncserver的是http://sourceforge.net/projects/osxvnc/

回答

1

我打同一類的問題,我認爲它可能實際上是不可能的。

問題是,在OSX上運行的Firefox/Chrome版本是針對OSX的,而不是「普通的」X11 - 因此,即使您運行X11服務器並使用xvfb/xvnc/whatever並在DISPLAY = 123,火狐/鉻不在乎,因爲他們不是基於X,他們是碳/可可爲主。

可以確認這個自己如下:

  1. 運行X11服務器(從聚光燈)
  2. 在新的xterm中,鍵入 「xhost的+」(只是爲了確保)
  3. xvfb的-Br -screen 0 1280x1024x24:123123 &
  4. 現在你有上顯示123123新的幀緩衝區 - 在那裏運行的xterm:
  5. DISPLAY =:123123 xterm的&
  6. 沒有出現您的主屏幕上,因爲新的xterm,是在後臺。檢查它是否存在:
  7. xlsclients -display:123123
  8. 您會看到一個條目,即您在此生成的xterm。
  9. 現在用瀏覽器試試吧:
  10. DISPLAY =:123123 /Applications/Firefox.app/Contents/MacOS/firefox
  11. ...和Firefox仍然顯示您的主屏幕上。

    你可以用其他的東西檢查這一點 - 如果你做「DISPLAY =:123123 xcalc」,xcalc將不會出現在主屏幕上,但它會在從xlsclients事情列表中顯示出來,因爲它是X基。

    但是,如果您嘗試「DISPLAY =:123123/Applications/Calculator/Contents/MacOS/Calculator」,OSX計算器會顯示在主屏幕上,因爲它不是基於X的。

    (另一種可能的解決方案是使用硒服務器,但我們的web應用程序打破硒服務器所以這不是我們的選擇 - 到最後,我轉而使用基於Windows的詹金斯安裝,其中硒和chromedriver作品當從詹金斯運行罰款)。

+0

感謝澄清非基於X的程序不會在意。不過,我正在測試基於swing的JAVA應用程序,而不是基於硒的應用程序。我正在使用fest(http://code.google.com/p/fest/)來執行GUI測試。如果你願意,你可以看看這裏的代碼:http://code.google.com/p/chess-svg/ 是擺也許不是基於X? – jontejj 2012-02-18 16:30:41

+0

對不起,我對Swing一無所知。此外,最後的評論在這裏:http://code.google。com/p/js-test-driver/wiki/ContinuousBuild意味着其他人已經成功地在OSX上通過jenkins和xvfb運行瀏覽器,所以可能會比我理解的更多。 – 2012-02-21 14:56:41