diff --git a/tests/selenium/remotecontrol/config.cfg b/tests/selenium/remotecontrol/config.cfg new file mode 100644 index 0000000000..ef2103b168 --- /dev/null +++ b/tests/selenium/remotecontrol/config.cfg @@ -0,0 +1,34 @@ +[ie6-winxp] +host=208.80.142.184 +browserCmd=iexploreproxy C:\Program Files\MultipleIEs\IE6\iexplore.exe +comment=IE6 on WinXP + +[ie7-winxp] +host=208.80.142.184 +browserCmd=iexploreproxy +comment=IE7 on WinXP + +# Running on alta: debian etch +[opera-winxp] +host=208.80.142.184 +browserCmd=opera C:\Program Files\Opera 9\Opera.exe +comment=Opera on WinXP + +# Running on alta: debian etch +[opera] +host=208.80.142.140 +browserCmd=opera +comment=Opera on Debian Etch + +# Running on alta: Debian Etch +[firefox2] +host=208.80.142.140 +browserCmd=firefox /usr/lib/iceweasel/firefox-bin +comment=Iceweasel 2 on Debian Etch + +# Running on alta: Debian Etch +[firefox3] +host=208.80.142.105 +browserCmd=firefox /usr/lib/firefox-3.0.1/firefox-bin +comment=FF3 on Ubuntu + diff --git a/tests/selenium/remotecontrol/test_ol.py b/tests/selenium/remotecontrol/test_ol.py index 46f4290e9c..cc73e37ebb 100644 --- a/tests/selenium/remotecontrol/test_ol.py +++ b/tests/selenium/remotecontrol/test_ol.py @@ -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 = """ %s""" % 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)