From c293746d4c34ccb7abb8af41f7d05940aa7e4076 Mon Sep 17 00:00:00 2001 From: Artyom Shalkhakov Date: Tue, 8 May 2018 16:03:24 +0600 Subject: Adding Selenium-based checking to tests. --- tests/driver.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 tests/driver.sh (limited to 'tests/driver.sh') diff --git a/tests/driver.sh b/tests/driver.sh new file mode 100755 index 00000000..cc62644b --- /dev/null +++ b/tests/driver.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +if [[ $# -eq 0 ]] ; then + echo 'Supply at least one argument' + exit 1 +fi + +TESTDB=/tmp/$1.db +TESTSQL=/tmp/$1.sql +TESTPID=/tmp/$1.pid +TESTSRV=./$1.exe + +rm -f $TESTDB $TESTSQL $TESTPID $TESTSRV +../bin/urweb -debug -boot -noEmacs -dbms sqlite -db $TESTDB -sql $TESTSQL "$1" || exit 1 + +if [ -e $TESTSQL ] +then + sqlite3 $TESTDB < $TESTSQL +fi + +$TESTSRV -q -a 127.0.0.1 & +echo $! >> $TESTPID +sleep 1 +python -m unittest $1.py +kill `cat $TESTPID` -- cgit v1.2.3 From 4bf7bfd52e5e822b05665b1872a2cfd31417486d Mon Sep 17 00:00:00 2001 From: Artyom Shalkhakov Date: Wed, 30 May 2018 20:26:06 +0600 Subject: Multi-group test --- tests/cradio.py | 20 ++++++++++++++++---- tests/cradio.ur | 17 +++++++++++++++-- tests/driver.sh | 2 +- 3 files changed, 32 insertions(+), 7 deletions(-) (limited to 'tests/driver.sh') diff --git a/tests/cradio.py b/tests/cradio.py index acc8dc11..cc075593 100644 --- a/tests/cradio.py +++ b/tests/cradio.py @@ -5,8 +5,10 @@ class Suite(base.Base): def test_1(self): """Test case 1""" self.start("Cradio/main") - txt = self.body_text() - self.assertEqual("Wilbur Walbur Hello, I'm B. I'll be your waiter for this evening.", txt) + txt = self.xpath('div[1]').text + self.assertEqual("Hello, I'm B. I'll be your waiter for this evening.", txt) + txt2 = self.xpath('div[2]').text + self.assertEqual('Value:', txt2) el1 = self.xpath('label[1]/input') el2 = self.xpath('label[2]/input') self.assertEqual(False, el1.is_selected()) @@ -17,5 +19,15 @@ class Suite(base.Base): alert.accept() self.assertEqual(True, el1.is_selected()) self.assertEqual(False, el2.is_selected()) - txt = self.body_text() - self.assertEqual("Wilbur Walbur Hello, I'm A. I'll be your waiter for this evening.", txt) + txt = self.xpath('div[1]').text + self.assertEqual("Hello, I'm A. I'll be your waiter for this evening.", txt) + txt2 = self.xpath('div[2]').text + self.assertEqual('Value:', txt2) + # now check that the second radio group works as well + el3 = self.xpath('label[4]/input') + el3.click() + alert = self.driver.switch_to.alert + alert.accept() + txt2 = self.xpath('div[2]').text + self.assertEqual('Value: Y', txt2) + self.assertEqual("Hello, I'm A. I'll be your waiter for this evening.", txt) diff --git a/tests/cradio.ur b/tests/cradio.ur index 5b6e9d22..48c04f1e 100644 --- a/tests/cradio.ur +++ b/tests/cradio.ur @@ -1,13 +1,26 @@ fun main () = s <- source (Some "B"); +r <- source None; let val onc = v <- get s; alert ("Now it's " ^ show v) + val onc_r = v <- get r; alert ("Changed to " ^ show v) in return +

First group

+ - Hello, I'm {[s]}
}/>. - I'll be your waiter for this evening. +
+ Hello, I'm {[s]}}/>. I'll be your waiter for this evening. +
+ +

Second group

+ + + + + +
Value: {[r]}}/>
end diff --git a/tests/driver.sh b/tests/driver.sh index cc62644b..879c093d 100755 --- a/tests/driver.sh +++ b/tests/driver.sh @@ -21,5 +21,5 @@ fi $TESTSRV -q -a 127.0.0.1 & echo $! >> $TESTPID sleep 1 -python -m unittest $1.py +python3 -m unittest $1.py kill `cat $TESTPID` -- cgit v1.2.3