我正在学习编写这些测试以帮助提高我编写的代码的整体质量,但是我一直无法找到任何检查元素是否包含的测试示例任何事情 - 有很多测试可以检查确切的短语。
在我的情况下,它是CMS驱动的应用程序,因此如果用户更改内容,测试将失败,因此检查以确保页面中有一些内容似乎更合理,问候的内容。
我已经找到了处理这个selenium和jQuery的方法,但是以这种方式运行测试要慢得多,所以我尽可能地尝试保持命令行。
以前有人有这种经历吗?我的应用程序是用PHP编写的,我对一些自定义测试操作有点运气,但我绝不是一个高级编码器。
答案 0 :(得分:6)
如果你正在使用Behat + Mink,你可以使用一些内置的帮助函数来实现这个目的:
断言元素存在于页面上:
$this->assertSession()->elementExists('css', '.selector');
检查内容是否为空:
if ( empty($this->getPage()->find('css', '.selector')->getText()) ) {
throw new Exception;
}
我发现WebAssert类是一个特别有用的对象+最好的文档是类本身:WebAssert.php
答案 1 :(得分:2)
声明页面包含任何内容未在behat(我认为)中实现,因为它不是一个好习惯。 该页面可能返回异常,或者HTTP错误403/500,您的测试将通过。
Then the response status code should be
Then I should see a ".footer" element Then I should see a "body" element