簡體   English   中英

如何在java上編寫的selenium測試中增加travis-ci的超時時間?

[英]How to increase timeout in travis-ci for my selenium tests written on java?

我有一個關於java的測試wrintten(在本地機器上傳遞,測試運行大約30分鍾)我需要增加travis-ci的超時,我可以通過改變.tavis.yml來改變超時嗎? 這是我的.tavis.yml文件:

language: java

cache: apt

before_install:
  - sudo apt-get update -qq
  - sudo apt-get install -qq default-jdk maven

env:
  - JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

script:
  - travis_wait mvn package -Dtestng=test.xml

我問,因為我在travis上有錯誤:

Timeout (20 minutes) reached. Terminating "mvn package -Dtestng=test.xml"

那么,我有什么選擇來改變時間嗎? 也許我需要寫下一些東西給.tavis.yml? 謝謝。

您可以通過修改腳本命令來增加超時。 例如,將超時時間增加到半小時:

  - travis_wait 30 mvn package -Dtestng=test.xml

請參閱Mor的答案,了解一個很好的替代方案,它不會將構建輸出“掛起”30分鍾。

看起來你的測試沒有產生任何輸出,這通常會在10分鍾內導致超時。

但是,由於您使用travis_wait為build命令添加前綴,因此該超時將增加到20分鍾。

我們的構建系統中的shell環境提供了一個有助於解決此問題的功能,至少超過10分鍾。

travis_wait每分鍾在構建日志中寫一條短線,持續20分鍾,從而延長了命令完成的時間。

仔細檢查您的測試是否懸空。

我發現以下解決方案取自對我有用的GitHub問題

script:
  - .travis/test.sh

test.sh看起來像這樣:

# send the long living command to background
./long-running-operation.sh &

# Constants
RED='\033[0;31m'
minutes=0
limit=3

while kill -0 $! >/dev/null 2>&1; do
  echo -n -e " \b" # never leave evidences!

  if [ $minutes == $limit ]; then
    echo -e "\n"
    echo -e "${RED}Test has reached a ${minutes} minutes timeout limit"
    exit 1
  fi

  minutes=$((minutes+1))

  sleep 60
done

exit 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM