Multipage acceptance tests...
Posted: Tue Aug 09, 2005 8:35 pm
I'm having an issue with a multipage acceptence test. Here's the start of the test case:
The last assertPattern is failing, the URL still points to the second step and the showSource returns nothing. This step is slurping up a lot of data, normally takes about 2-3 minutes (when not run in testing), hence the 10 minute timeout I set. When I cut and paste from the test case into the form, it works. I've viewed source to make sure I have exact matches on the field names.
Any clue as to why it would fail in the multipage test? I had a problem before when the simple browser wasn't propagating the HTTP_REFERER, but I no longer require/check that.
[Edit:
Changing the second submission to:
works. But that's turning the test into something not quite an acceptance test -- its not using the website the way a "person" would in setting fields and clicking buttons....]
Code: Select all
class ResultTrackerLoadTest extends WebAuthTestCase {
function ResultTrackerLoadTest() {
$this->WebAuthTestCase('Result Tracker Import Tests','siteadmin-tester',
'results/import_cib.php');
}
function testImportProcess() {
// Page 1 Generall Inforamtion
$this->assertTrue($this->setField('compUnix','Foo'));
$this->assertTrue($this->setField('compName','FooBar Ballroom Dance Competition'));
$this->assertTrue($this->setField('compURL','http://example.net/redacted/'));
$this->assertTrue($this->setField('compType','US Collegiate'));
$this->assertTrue($this->setField('firstdayMonth','April'));
$this->assertTrue($this->setField('firstdayDay','2'));
$this->assertTrue($this->setField('firstdayYear','2005'));
$this->assertTrue($this->setField('lastdayMonth','April'));
$this->assertTrue($this->setField('lastdayDay','3'));
$this->assertTrue($this->setField('lastdayYear','2005'));
$this->clickSubmitByName("submit");
$this->assertPattern("/import_cib_2/",$this->getUrl());
$this->assertTrue($this->setField('resultURL','http://example.com/redacted'));
$this->showSource();
$this->clickSubmitByName("submit");
$this->setConnectionTimeout(600);
$this->showSource();
echo $this->getUrl();
$this->assertPattern("/import_cib_3/",$this->getUrl());
}
}Any clue as to why it would fail in the multipage test? I had a problem before when the simple browser wasn't propagating the HTTP_REFERER, but I no longer require/check that.
[Edit:
Changing the second submission to:
Code: Select all
$postTo=CIB_URL."results/import_cib_2.php";
$postParam=array("resultURL"=>'http://example.net/redacted',
"submit"=>"Get Results");
$temp=$this->post($postTo, $postParam);