У меня есть кнопка на странице что, будучи используемым в качестве ссылки на другую страницу. Таким образом, когда пользователь нажимает кнопку, они перенаправляются к правильной странице.
Я использую расширение Селена для PHPUnit, и я хотел бы протестировать это, кнопка правильно перенаправляет пользователя. Вот HTML, который я пытаюсь протестировать:
<button onclick="window.location='/sponsor';" value="Continue" type="button" id="sponsorContinue" name="sponsorContinue">Continue</button>
Я попробовал много разных подходов для нажатия кнопки, но я, может казаться, не заставляю ни одного из них работать:
$this->click("//button[@id='sponsorContinue']");
Эта команда выполняет и не бросает ошибок, но страница не перенаправляется. Это хорошо работает, когда я вручную нажимаю кнопку.Что мне делать?
Вот проблема ... HTML неправильный, и он вынуждает пользователей использовать javascript для перехода на следующую страницу. Вместо этого используйте этот HTML. Он чище и не полагается на javascript.
<form method="get" action="/sponsor">
<button type="submit" id="sponsorContinue">Continue</button>
</form>
Кроме того, теперь это будет работать:
$this->click('sponsorContinue');
Однако, если вы пытаетесь заставить window.location
работать, см. Этот вопрос .