Attempt at travis pinging testdroid

This commit is contained in:
mhutti1 2017-04-25 17:46:50 +02:00
parent def4232e08
commit 93415ca918
3 changed files with 30 additions and 1 deletions

View File

@ -34,4 +34,5 @@ licenses:
- '.+'
script:
- ./gradlew build
- ./gradlew build testdroidUploadKiwix
- ./testdroid.py

View File

@ -253,11 +253,14 @@ task wrapper(type: Wrapper) {
gradleVersion = '2.4'
}
def buildNumber = System.getenv('TRAVIS_BUILD_NUMBER')
testdroid {
username System.getenv('TESTDROID_USERNAME')
password System.getenv('TESTDROID_PASSWORD')
deviceGroup 'Kiwix'
projectName "Kiwix"
testRunName "Auto Test " + buildNumber
fullRunConfig {
instrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"

25
testdroid.py Executable file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env python
import requests
import time
import sys
import os
PROJECT_ID = 116910522
runID = os.environ['TRAVIS_BUILD_NUMBER']
apiKey = os.environ['BITBAR_API_KEY']
testName = "Auto Test {}".format(runID)
for x in range(0, 50):
r = requests.get('https://cloud.testdroid.com/api/me/projects/{}/runs'.format(PROJECT_ID), auth=(apiKey, ''), headers={"Accept" : "application/json"})
result = list(filter(lambda run: run.get("displayName") == testName, r.json().get("data")))
if len(result) > 0 and result[0].get("state") == "FINISHED":
ratio = result[0].get("successRatio")
if ratio == 1.0:
print "All tests passed"
sys.exit(0)
else:
raise AssertionError("Success ratio only: {}".format(ratio))
else:
print "Waiting for results"
time.sleep(30)
raise TimeoutError("Test not found/complete")