summaryrefslogtreecommitdiffstats
path: root/install/ui/test/bin
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-04-04 12:24:38 -0400
committerEndi Sukma Dewata <edewata@people01.fedoraproject.org>2011-04-05 21:21:54 +0000
commit86995509a1d29497fb1c95f810337a567e1d5634 (patch)
treeb6b8bcf3801f4a88f3a39544d0323b77e3f8686e /install/ui/test/bin
parentdeaf029023e4037ad53d17b9e48562845b3c1197 (diff)
downloadfreeipa-86995509a1d29497fb1c95f810337a567e1d5634.tar.gz
freeipa-86995509a1d29497fb1c95f810337a567e1d5634.tar.xz
freeipa-86995509a1d29497fb1c95f810337a567e1d5634.zip
Added functional test runner.
Diffstat (limited to 'install/ui/test/bin')
-rwxr-xr-xinstall/ui/test/bin/functional.sh33
-rwxr-xr-xinstall/ui/test/bin/selenium-results.js30
-rwxr-xr-xinstall/ui/test/bin/selenium.sh17
3 files changed, 73 insertions, 7 deletions
diff --git a/install/ui/test/bin/functional.sh b/install/ui/test/bin/functional.sh
new file mode 100755
index 000000000..c8705dbf0
--- /dev/null
+++ b/install/ui/test/bin/functional.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+BIN_DIR=`dirname $0`
+
+TEST_SUITES=functional
+TEST_RESULTS=results
+mkdir -p "$TEST_RESULTS"
+
+LIST=$1
+shift
+
+while [ -n "$1" ]
+do
+ LIST="$LIST $1"
+ shift
+done
+
+if [ -z "$LIST" ]
+then
+ LIST="`ls $TEST_SUITES/*-suite.html | sed 's/^.*\/\(.*\)-suite.html$/\1/'`"
+fi
+
+for TEST_NAME in $LIST
+do
+ echo ===================================================
+ echo Test Suite: $TEST_NAME
+ echo ===================================================
+
+ "$BIN_DIR/selenium.sh" "$TEST_SUITES/$TEST_NAME-suite.html"\
+ "$TEST_RESULTS/$TEST_NAME-results.html"
+
+ rhino -opt -1 "$BIN_DIR/selenium-results.js" "$TEST_RESULTS/$TEST_NAME-results.html"
+done
diff --git a/install/ui/test/bin/selenium-results.js b/install/ui/test/bin/selenium-results.js
new file mode 100755
index 000000000..3fa68a69f
--- /dev/null
+++ b/install/ui/test/bin/selenium-results.js
@@ -0,0 +1,30 @@
+if (!arguments.length) {
+ print('Usage: selenium-results.js <results html>');
+ quit();
+}
+
+load('lib/env.rhino.1.2.js');
+load('../jquery.js');
+
+window.location = arguments[0];
+
+var labels = {
+ result: 'Result',
+ numTestTotal: 'Total',
+ numTestPasses: 'Passed',
+ numCommandFailures: 'Failed'
+};
+
+$('table:first tr:lt(10)').each(function() {
+ var tr = $(this);
+
+ var td = tr.children().first();
+
+ var name = td.text().replace(/:$/, '');
+ var label = labels[name];
+ if (!label) return;
+
+ td = td.next();
+ var value = td.text();
+ print(label+': '+value);
+});
diff --git a/install/ui/test/bin/selenium.sh b/install/ui/test/bin/selenium.sh
index 034b1df6f..bd37238e6 100755
--- a/install/ui/test/bin/selenium.sh
+++ b/install/ui/test/bin/selenium.sh
@@ -1,6 +1,5 @@
#!/bin/sh
-
TEST_SUITE=$1
TEST_RESULTS=$2
@@ -10,17 +9,21 @@ then
exit 1
fi
-if [ ! -f $TEST_SUITE ]
+if [ ! -f "$TEST_SUITE" ]
then
echo "Error: Test suite $TEST_SUITE not found."
exit 1
fi
-PROFILE_DIR=$HOME/.mozilla/firefox
-PROFILE=`ls $PROFILE_DIR | grep .default`
-PROFILE_TEMPLATE=$PROFILE_DIR/$PROFILE
+PROFILE_DIR="$HOME/.mozilla/firefox"
+PROFILE=`ls "$PROFILE_DIR" | grep .default`
+PROFILE_TEMPLATE="$PROFILE_DIR/$PROFILE"
-java -jar /usr/share/java/selenium-server-standalone.jar -firefoxProfileTemplate $PROFILE_TEMPLATE -htmlSuite "*firefox" "http://localhost" $TEST_SUITE $TEST_RESULTS
+# Run Selenium Test
+java -Djava.util.logging.config.file=conf/logger.properties\
+ -jar /usr/share/java/selenium-server-standalone.jar\
+ -firefoxProfileTemplate "$PROFILE_TEMPLATE"\
+ -htmlSuite "*firefox" "http://localhost" "$TEST_SUITE" "$TEST_RESULTS"
# Kill Firefox
-ps -ef|grep -i firefox|grep '\-profile'|awk '{print $2;}'|xargs kill -9
+ps -ef|grep -i firefox|grep '\-profile'|awk '{print $2;}'|xargs kill