一、安装环境
1.先更新yum语言
curl -sL https://rpm.nodesource.com/setup | bash -
2.安装nodejs
yum install -y nodejs
3.安装npm
yum install -y npm
4.jasmine
npm install -g jasmine-node
5.frisby
npm install --save-dev frisby
二、运行脚本 test_spec.js
jasmine-node test_spec.js
三、生成XML报告
Expectations
1.expectStatus( code ) 响应返回的HTTP状态码等于code
例如:
frisby.create(
'Ensure response has a proper JSON Content-Type header')
.get(
'http://httpbin.org/get')
.expectHeader(
'Content-Type', 'application/json')
.toss();
3.expectHeaderContains( key, content ) 期望的头信息 不精确的
例如:
frisby.create(
'Ensure response has a proper JSON Content-Type header')
.get(
'http://httpbin.org/get')
.expectHeader(
'Content-Type', 'json')
.toss();
4.expectHeaderToMatch( key, patterm ) 期望的头信息,使用正则表达式匹配的
例如:
frisby.create(
'Ensure response has image/something in the Content-Type header')
.get(
'http://httpbin.org/get')
.expectHeaderToMatch(
'Content-Type', '^image/.+')
.toss();
|
5.expectJSON( [path], json ) 期望的JSON
例如:
frisby.create(
'Ensure test has foo and bar')
.get(
'http://httpbin.org/get?foo=bar&bar=baz')
.expectJSON({
args: {
foo:
'bar',
bar:
'baz'
}
})
.toss()
6.expectJSONTypes( [path], json ) 期望json的类型
例如:
frisby.create(
'Ensure response has proper JSON types in specified keys')
.post(
'http://httpbin.org/post', {
arr: [
1, 2, 3, 4],
foo:
"bar",
bar:
"baz",
answer:
42
})
.expectJSONTypes(
'args', {
arr:
Array,
foo:
String,
bar:
String,
answer:
Number
})
.toss()
7.expectBodyContains( content ) body内容
8.expectJSONLength( [path], length ) JSON长度
9.expectMaxResponseTime( milliseconds ) 最大响应时间
五、path
1.All Objects in an Array
所有的对象都在一个数组内,可用 * 作为path
2.One Object in an Array
一个对象在一个数组内,可以用 ? 作为path
六、Helpers
1.after()
frisby.create(
'First test')
.get(
'http://httpbin.org/get?foo=bar')
.after(
function(err, res, body) {
frisby.create(
'Second test, run after first is completed')
.get(
'http://httpbin.org/get?bar=baz')
.toss()
})
.toss()
2.afterJSON() 返回的JSON在别的里面使用
frisby.create(
'First test')
.get(
'http://httpbin.org/get?foo=bar')
.afterJSON(
function(json) {
frisby.create(
'Second test, run after first is completed')
.get(
'http://httpbin.org/get?bar=' + json.args.foo)
.toss()
})
.toss()
3.inspectRequest() 发送的请求
详细学习地址:http://frisbyjs.com/docs/api/