update; now supports configuration

git-svn-id: http://svn.openlayers.org/trunk/openlayers@8564 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
crschmidt
2008-12-26 21:30:52 +00:00
parent 40e5c856b6
commit 9eda04e31c
2 changed files with 65 additions and 8 deletions

View File

@@ -1,11 +1,36 @@
from selenium import selenium
import time
import sys
from ConfigParser import ConfigParser
while True:
if len(sys.argv) > 2:
filename = sys.argv[2]
else:
filename = "config.cfg"
browsers = ['firefox']
c = ConfigParser()
c.read(filename)
targets = {}
sections = c.sections()
for s in sections:
targets[s] = dict(c.items(s))
targets[s]['name'] = s
if sys.argv[1] == "all":
browsers = list(targets.values())
elif sys.argv[1] not in targets:
print "Invalid target"
sys.exit()
else:
browsers = [targets[sys.argv[1]]]
if 1:
for b in browsers:
s = selenium("localhost", 4444, "*%s" % b, "http://openlayers.org/")
print "Running %s on %s" % (b['name'], b['host'])
s = selenium(b['host'], 4444, "*%s" % b['browsercmd'], "http://openlayers.org/")
s.start()
try:
s.open("/dev/tests/run-tests.html?run=all")
@@ -27,19 +52,17 @@ while True:
if fail:
print "Failed: %s" % fail
html = s.get_eval("window.document.getElementById('results').innerHTML")
html = s.get_eval("window.document.getElementById('results').innerHTML").decode("utf-8")
all_html = """<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
</head>
<body>%s</body></html>""" % html
f = open("fail.%s.%s.html" % (time.time(), b), "w")
f.write(all_html)
f = open("fail.%s.%s.html" % (time.time(), b['name']), "w")
f.write(all_html.encode)
f.close()
except Exception, E:
print "Error: ", E
s.stop()
print "sleeping for one hour"
time.sleep(3600)