2014-02-25 83 views

回答

28

大多數瀏覽器測試框架都會包含Selenium。如果你需要運行一個獨立的硒服務器,您可以添加以下的circle.yml在回購的根目錄:

dependencies: 
    post: 
     - wget https://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar 
     - java -jar selenium-server-standalone-2.44.0.jar: 
      background: true 

這將下載最新的獨立硒罐子,並在後臺運行。請注意第二個命令末尾的冒號以及「background:true」的4空格縮進。這告訴YAML將background作爲該命令的修飾符。

更多的文檔在這裏:

https://circleci.com/docs/background-process

https://circleci.com/docs/installing-custom-software

注:如果更新了這個答案的鏈接,JAR,請確保它是HTTPS。通常認爲通過不安全的HTTP下載某些東西是非常危險的,因爲中間人攻擊可能導致JAR替換/篡改,所以不檢查校驗和就運行它。

+0

這正是我需要的!謝謝。 –

+2

我仍然是CirceCI迄今爲止最好的CI! –

+0

這個解決方案的問題在於Selenium,Chromedriver和Chrome版本應該對齊,以使它們一起工作,因此我的答案在下面。 –

5

安裝硒,chromedriver和鉻的全棧:

dependencies: 
    pre: 

    # Install Selenium. 
    - curl http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar > selenium-server-standalone.jar 
    - curl http://chromedriver.storage.googleapis.com/2.23/chromedriver_linux64.zip | gzip -dc > chromedriver 
    - chmod +x chromedriver 
    - 'java -jar selenium-server-standalone.jar -trustAllSSLCertificates -Dwebdriver.chrome.driver=chromedriver': 
     background: true 
    # Update Google Chrome. 
    - google-chrome --version 
    - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
    - sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb stable main" >> /etc/apt/sources.list.d/google.list' 
    - sudo apt-get update 
    - sudo apt-get --only-upgrade install google-chrome-stable 
    - google-chrome --version 
+0

你的''curro'命令對於chromedriver不起作用。你不能將'zip'傳送到'gzip'進行解壓縮。他們有兩(2)種不同的壓縮方案。然而,以下內容將起作用:'curl https://chromedriver.storage.googleapis.com/2.33/chromedriver_mac64.zip -O && unzip chromedriver_mac64.zip' – javafueled

+0

@javafueled如果它在20個以上的項目中工作,它將無法工作 –

+0

[可以'gunzip'提取.zip壓縮文件?](http://www.gzip.org/#faq17)。 'gunzip'只是'gzip -d'。實際上,每次我嘗試這個時,都會被告知'gzip:未知的壓縮格式(Linux和Mac版本)「。我,_但是,仍然不相信管道正在做管道被認爲正在做的事情。 – javafueled

相關問題