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