API 自动化 - 是否可以获得 post 调用的响应
API Automation - Is it possible to get response of the post call
我正在学习如何在 gmail.api 上使用 frisby.js 自动化 API。
我想创建一个测试,在其中创建和删除(或发送)草稿消息。
所以我编写了一个创建草稿的测试,我的问题是 - 我可以编写一个代码,至少从我的 Post 调用中获取生成的响应的 ID 吗?
var frisby = require('frisby');
frisby.create('Create Draft Google')
.post('https://www.googleapis.com/gmail/v1/users/me/drafts?access_token=*my-token-here*', {
message: {
raw: "RGFuJ3MgVG9vbHMgYXJlIGNvb2wh",
id: "1547265285486966899"
}
}, { json: true })
.inspectJSON()
.inspectBody()
.expectStatus(200)
.toss();
所以,为了澄清,我想用
编写 THIS^ 测试的另一部分
.after(function(err, res, body){}
步骤:
- 我创建消息草稿
- 我希望我的测试自动获取刚刚创建的草稿的 ID
- 所以我可以删除 it\Send 它
谢谢!
创建草稿时,您将在响应中获取新创建草稿的id:
请求
POST https://www.googleapis.com/gmail/v1/users/me/drafts?access_token={access_token}
{
"message": {
"raw": "RnJ..."
}
}
回应
{
"id": "r5019331921817638435",
"message": {
"id": "157948187e41b5bb",
"threadId": "157948187e41b5bb",
"labelIds": [
"DRAFT"
]
}
}
.afterJSON(function(json){
callback(json.id);
})
我使用了这个功能并且它起作用了。感谢我朋友的帮助 :D
如果有人需要,这里有完整的测试:
这就是我如何获得已创建草稿的 ID
var frisby = require('frisby');
var new_id = function(frisby, callback)
{
frisby.create('Create Draft Google')
.post('https://www.googleapis.com/gmail/v1/users/me/drafts?access_token=[my_token]', {
message: {
raw: "RGFu...",
}
}, { json: true })
.inspectJSON()
.inspectBody()
.expectStatus(200)
.afterJSON(function(json){
callback(json.id);
})
.toss();
};
module.exports = new_id;
我就是这样删除这个草稿的
var frisby = require('frisby');
var getid_spec = require("./getid_spec.js");
getid_spec(frisby,function(id){
frisby.create('Delete Google Draft Test')
.delete("https://www.googleapis.com/gmail/v1/users/me/drafts/" +id +"?access_token=[my_token]", {})
.expectStatus(204)
.toss();
})
我正在学习如何在 gmail.api 上使用 frisby.js 自动化 API。 我想创建一个测试,在其中创建和删除(或发送)草稿消息。
所以我编写了一个创建草稿的测试,我的问题是 - 我可以编写一个代码,至少从我的 Post 调用中获取生成的响应的 ID 吗?
var frisby = require('frisby');
frisby.create('Create Draft Google')
.post('https://www.googleapis.com/gmail/v1/users/me/drafts?access_token=*my-token-here*', {
message: {
raw: "RGFuJ3MgVG9vbHMgYXJlIGNvb2wh",
id: "1547265285486966899"
}
}, { json: true })
.inspectJSON()
.inspectBody()
.expectStatus(200)
.toss();
所以,为了澄清,我想用
编写 THIS^ 测试的另一部分.after(function(err, res, body){}
步骤:
- 我创建消息草稿
- 我希望我的测试自动获取刚刚创建的草稿的 ID
- 所以我可以删除 it\Send 它
谢谢!
创建草稿时,您将在响应中获取新创建草稿的id:
请求
POST https://www.googleapis.com/gmail/v1/users/me/drafts?access_token={access_token}
{
"message": {
"raw": "RnJ..."
}
}
回应
{
"id": "r5019331921817638435",
"message": {
"id": "157948187e41b5bb",
"threadId": "157948187e41b5bb",
"labelIds": [
"DRAFT"
]
}
}
.afterJSON(function(json){
callback(json.id);
})
我使用了这个功能并且它起作用了。感谢我朋友的帮助 :D
如果有人需要,这里有完整的测试: 这就是我如何获得已创建草稿的 ID
var frisby = require('frisby');
var new_id = function(frisby, callback)
{
frisby.create('Create Draft Google')
.post('https://www.googleapis.com/gmail/v1/users/me/drafts?access_token=[my_token]', {
message: {
raw: "RGFu...",
}
}, { json: true })
.inspectJSON()
.inspectBody()
.expectStatus(200)
.afterJSON(function(json){
callback(json.id);
})
.toss();
};
module.exports = new_id;
我就是这样删除这个草稿的
var frisby = require('frisby');
var getid_spec = require("./getid_spec.js");
getid_spec(frisby,function(id){
frisby.create('Delete Google Draft Test')
.delete("https://www.googleapis.com/gmail/v1/users/me/drafts/" +id +"?access_token=[my_token]", {})
.expectStatus(204)
.toss();
})