我在页面上有一个按钮,用作另一个页面的链接。因此,当用户单击该按钮时,它们将被重定向到右侧页面。
我正在使用PHPUnit的Selenium扩展,我想测试该按钮是否正确地重定向用户。这是我要测试的HTML:
<button onclick="window.location='/sponsor';" value="Continue" type="button" id="sponsorContinue" name="sponsorContinue">Continue</button>
我尝试了很多不同的方法来点击按钮,但我似乎无法让它们中的任何一个工作:
$this->click("//button[@id='sponsorContinue']");
此命令执行并不会抛出任何错误,但不会重定向页面。我手动点击按钮时工作正常。我该怎么办?
答案 0 :(得分:2)
这就是问题...... HTML是错误的,它迫使用户使用javascript继续下一页。请改用此HTML。它更干净,不依赖于javascript。
<form method="get" action="/sponsor">
<button type="submit" id="sponsorContinue">Continue</button>
</form>
此外,现在可以使用:
$this->click('sponsorContinue');
但是,如果您尝试window.location
工作,see this question。