目录

(二十一)断言

测试用例与断言

测试用例中至少需要包含1个断言,没有断言的测试脚本不能称为测试用例。

断言就是预期和实际的比较,如果预期不等于实际,脚本将会报错。

selenium 自带断言

selenium 自带了一些断言,具体看断言

场景

我们下面实现打开测试教程网并做2个断言

  • 页面title包含测试教程网几个字
  • 页面url包含testclass几个字

代码

var webdriver = require('selenium-webdriver'),
  By = webdriver.By;

var assert = require('selenium-webdriver/testing/assert');

var dr = new webdriver.Builder().forBrowser('chrome').build();
dr.get('http://www.testclass.net/');

dr.getTitle().then(function(title) {
  assert(title).contains('测试教程网');
});

dr.getCurrentUrl().then(function(url) {
  assert(url).contains('testclass');
});

dr.quit()

运行结果

上面断言全部通过的时候看不到任何的结果,大家可以试着修改一下断言,让断言失败,这时候就应该可以看到类似下面的信息

AssertionError: 测试教程网 · 测试教程网.indexOf(测试教程网12443) !== -1

测试框架

在做真实的测试时,我们一般会用测试框架配合selenium一起来实现复杂的场景测试和测试报告的生成,在这里向大家推荐一些测试框架

  • mocha: 强烈推荐,灵活简单,可以配合selenium断言一起用
  • qunit: 简单好用
  • jest: facebook出品,大树底下好乘凉
  • tape: 足够简单

原始封面

https://images.unsplash.com/photo-1502957291543-d85480254bf8?w=300