在behat如何验证我点击链接后是否在正确的页面上


In behat how to validate if I am on the right page after clicking a link

当我点击"Laxatives"时然后我应该看到"/泻药"页面

对于上面的behat场景,我如何验证或确保它重定向到正确的url。目前,当我运行这个程序时,它会重定向到正确的页面,但如果不正确,我将如何通过脚本进行验证。请帮助

当没有大量链接要测试时,可以使用switch语句为每个选项指定预期的URL。否则,我建议创建一些类似翻译的类,所以当您请求Laxaitives时,它会告诉您,"/laxitives"字符串必须存在于页面URL中。然后,您可以在一些JSON或CSV文件中指定此"翻译"。

然后只需使用:$this->assertSession()->addressMatches($regex);,其中regex将由switch语句设置或由我提到的类加载。

最简单、最简单的实现方法是:

Given I am on 'home-page'
When I follow 'link-to-laxatives-page'
Then I should see 'Welcome to Laxatives'

所以Welcome to Laxatives是一个简单的文本,它出现在/laxatives页面中。

注意:如果有一个文本对页面来说是完全唯一的,则使用该文本,否则使用其他文本。

其他选项:

  • 您可以在FeatureContext中使用getCurrentUrl()
  • 使用MinkContext中已生成的步骤