【问题标题】:Transferring variables between API tests in JS在 JS 中的 API 测试之间传输变量
【发布时间】:2018-08-30 14:19:57
【问题描述】:

我有以下问题。 我开始创建 e2e api 测试 第一个测试的目的是获取未经授权的用户令牌,第二个测试使用方法头中的第一个测试的值并返回授权用户的令牌 - 毕竟,第二个令牌将用于进一步的测试。 如何将令牌的值保存在变量中并通过测试?

我是 JS 新手,现在收到“ReferenceError: auth_token is not defined”

const chai = require('chai');
const request = require('request-promise-native');
const mocha = require('mocha');
const config = require('../config');

const assert = chai.assert;
//const describe = mocha.describe;
//const it = mocha.it;
// request.debug = true;

describe('0_auth', () => {
  it('should return token for unauthorized user', async () => {
  const result = await request({
  headers: config.headers,
  url: `${config.url}/rest/v1/auth/get-token`,
  method: "POST",
  json: {
      "deviceUuidSource": "DEVICE",
      "source" : "KIOSK",
      "deviceUuid" : "uniquedeviceuuid"
  }
});
   assert.isNotNull(result);
   assert.property(result, 'token');
   var auth_token=result.token;
   console.log(auth_token)
   }).timeout(15000);


 it('should return token for authorized user', async () => {
 const result = await request({
  headers: Object.assign(config.headers, { 'Authorization': 'Bearer '+auth_token }),
  url: `${config.url}/rest/v1/auth/with-password`,
  method: "POST",
  json: {
    "email" : "dulexun3hvw0@10minut.xyz",
    "password" : "Test123"
     }
   });
   assert.isNotNull(result);
   assert.property(result, 'token');
   assert.property(result, 'user');
   console.log('token:', result.token);
 }).timeout(15000);
 });

在进一步的测试中,我想将 Bearer 令牌传递给不同类 config.js 中的授权字段

config.headers = {

 'User-Agent': 'WOR API Tester', // android
  Source: 'MOBILE',
 'Accept-Language': 'EN',
 Authorization:'Bearer '+auth_token;


};
module.exports = config;

【问题讨论】:

标签: javascript api testing mocha.js


【解决方案1】:

好的,正在为下一次测试获取承载,但我有一个问题。 为什么不记名保存在 auth_token 中的其他测试类而不是下面的类,这里我们有一行:

headers: Object.assign(config.headers, { 'Authorization': 'Bearer '+auth_token }),

在其他课程中,我只有以下几行

headers: config.headers,

并且没有关于在授权中使用 auth_token 的信息,在 config.js 中也没有关于令牌的信息

const chai = require('chai');
const request = require('request-promise-native');
const mocha = require('mocha');
const config = require('../config');

const assert = chai.assert;
//const describe = mocha.describe;
//const it = mocha.it;
// request.debug = true;

describe('0_auth', () => {
  var auth_token = ''
  it('should return token for unauthorized user', async () => {

const result = await request({
  headers: config.headers,
  url: `${config.url}/rest/v1/auth/get-token`,
  method: "POST",
  json: {
      "deviceUuidSource": "DEVICE",
      "source" : "KIOSK",
      "deviceUuid" : "uniquedeviceuuid"
     }
   });
   assert.isNotNull(result);
   assert.property(result, 'token');
   auth_token=result.token;
}).timeout(15000);


 it('should return token for authorized user', async () => {
const result = await request({
  headers: Object.assign(config.headers, { 'Authorization': 'Bearer '+auth_token }),
  url: `${config.url}/rest/v1/auth/with-password`,
  method: "POST",
  json: {
    "email" : "dulexun3hvw0@10minut.xyz",
    "password" : "Test123"
     }
   });
assert.isNotNull(result);
assert.property(result, 'token');
assert.property(result, 'user');
 }).timeout(15000);
 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-02
    • 2014-02-22
    • 2022-01-06
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    相关资源
    最近更新 更多