- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
自动化的新手,我正在尝试将 token 值从 block()
之前传递到 it()
并且我变得不确定。
能够生成成功并保存在token
const { spec } = require('pactum');
const request = require('request');
const userConfig = require('../config/credential.json')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
let token = "";
let authToken = "";
describe('POST /jobs', function () {
before(function () {
var option = {
'method': 'POST',
'url': 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token',
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
},
form: {
'client_id': `${userConfig.client_id}`,
'grant_type': 'password',
'Password': `${userConfig.Password}`,
'UserName': `${userConfig.UserName}`,
'scope': `${userConfig.scope}`,
'client_secret': `${userConfig.client_secret}`
}
};
request(option, function (error, response) {
if (error) throw new Error(error)
const modifyResponse = JSON.parse(response.body)
token = modifyResponse["access_token"]
})
})
it('Create Job should return 201 status code', async () => {
authToken = this.token
console.log('------------>', authToken)
await spec()
.post('https://localhost:3000/jobs')
.withHeaders('Authorization', `Bearer ${authToken}`)
.withHeaders('X-Client-Id', 'AzureDataLoaderUI')
.withHeaders('X-Message-Created-Ts', '2022-JUN-07 04:06')
.withHeaders('X-Message-Id', '4e8fb14c-c71f-46f8-b41a-561d393037ce')
.withHeaders('X-Transaction-Created-Ts', '2022-JUN-07 04:06')
.withHeaders('X-Transaction-Id', 'f11c97dc-a6eb-4ff7-aff6-de47c4686941')
.withHeaders('X-User-Id', 'AutoTestUser')
.withHeaders('Ocp-Apim-Subscription-Key', 'a731ccf0510849c690d23bb42ecef9d3')
.withHeaders('aeg-sas-key', 'b6LrYspQUAY2XnxkrDFDFDYsb8U2zqMQAzaQoZcQ=')
.withJson({ "product": "IRT", "entity": "CENTRE PROVISIONING AND RECIPIENT DETAILS", "operation": "UPDATE", "jobName": "AUTOPERF02", "studyId": "AUTO02" })
.expectStatus(201);
});
});
最佳答案
我认为您还需要等待 request()
调用,或者改用 Cypress cy.request()
。
let token = "";
let authToken = "";
describe('POST /jobs', function () {
before(async function () {
var option = {
'method': 'POST',
'url': 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token',
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
},
form: {
'client_id': `${userConfig.client_id}`,
'grant_type': 'password',
'Password': `${userConfig.Password}`,
'UserName': `${userConfig.UserName}`,
'scope': `${userConfig.scope}`,
'client_secret': `${userConfig.client_secret}`
}
};
await request(option, function (error, response) {
if (error) throw new Error(error)
const modifyResponse = JSON.parse(response.body)
token = modifyResponse["access_token"]
})
})
it('Create Job should return 201 status code', async () => {
authToken = token
...
使用cy.request
,您无需等待
cy.request(option)
.then(response => {
// if error, it's already thrown
token = response.body["access_token"]
})
使用 Mocha done() 表示请求已完成
以上 async
仅适用于基于 Promise 的请求。
等待 request(options, callback)
完成传入 Mocha 的 done()
函数并在设置 token 后调用它。
这是一个简单的例子,使用 JSONPlaceholder 来请求一些数据
const request = require('request');
let token;
before(function (done) {
request({
'method': 'GET',
'url': 'https://jsonplaceholder.typicode.com/todos/1'
}, function (error, response) {
const modifyResponse = JSON.parse(response.body)
token = modifyResponse.title
done() // signal end of request
})
})
it('sees the token', () => {
expect(token).to.eq('delectus aut autem') // passes
})
关于javascript - 在 mocha 中将变量从 before() 传递到 it(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72526254/
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to nest OR statements in JavaScript? 有没有办法做到这一点:
在 JavaScript 中有没有办法让一个变量总是等于一个变量?喜欢var1 = var2但是当var2更新,也是var1 . 例子 var var1 = document.getElementBy
我正在努力理解这代表什么 var1 = var2 == var3 我的猜测是这等同于: if (var2 == var3): var1 = var2 最佳答案 赋值 var1 = var2
这个问题已经有答案了: What does the PHP error message "Notice: Use of undefined constant" mean? (2 个回答) 已关闭 8
我在临时表中有几条记录,我想从每条记录中获取一个值并将其添加到一个变量中,例如 color | caption -------------------------------- re
如何将字符串转为变量(字符串变量--> $variable)? 或者用逗号分隔的变量列表然后转换为实际变量。 我有 2 个文件: 列名文件 行文件 我需要根据字符串匹配行文件中的整行,并根据列名文件命
我有一个我无法解决的基本 php 问题,我也想了解为什么! $upperValueCB = 10; $passNodeMatrixSource = 'CB'; $topValue= '$uppe
这可能吗? php $variable = $variable1 || $variable2? 如果 $variable1 为空则使用 $variable2 是否存在类似的东西? 最佳答案 PHP 5
在 Perl 5.20 中,for 循环似乎能够修改模块作用域的变量,但不能修改父作用域中的词法变量。 #!/usr/bin/env perl use strict; use warnings; ou
为什么这不起作用: var variable; variable = variable.concat(variable2); $('#lunk').append(variable) 我无法弄清楚这一点
根据我的理解,在32位机器上,指针的sizeof是32位(4字节),而在64位机器上,它是8字节。无论它们指向什么数据类型,它们都有固定的大小。我的计算机在 64 位上运行,但是当我打印包含 * 的大
例如: int a = 10; a += 1.5; 这运行得很完美,但是 a = a+1.5; 此作业表示类型不匹配:无法从 double 转换为 int。所以我的问题是:+= 运算符 和= 运算符
您好,我写了这个 MySQL 存储过程,但我一直收到这个语法错误 #1064 - You have an error in your SQL syntax; check the manual that
我试图在我的场景中显示特定的奖牌,这取决于你的高分是基于关卡的目标。 // Get Medal Colour if levelHighscore goalScore { sc
我必须维护相当古老的 Visual C++ 源代码的大型代码库。我发现代码如下: bIsOk = !!m_ptr->isOpen(some Parameters) bIsOk的数据类型是bool,is
我有一个从 MySQL 数据库中提取的动态产品列表。在 list 上有一个立即联系 按钮,我正在使用一个 jquery Modal 脚本,它会弹出一个表单。 我的问题是尝试将产品信息变量传递给该弹出窗
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is the difference between (type)value and type(va
jQuery Core Style Guidelines建议两种不同的方法来检查变量是否已定义。 全局变量:typeof variable === "undefined" 局部变量:variable
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: “Variable” Variables in Javascript? 我想肯定有一种方法可以在 JavaScrip
在语句中使用多重赋值有什么优点或缺点吗?在简单的例子中 var1 = var2 = true; 赋值是从右到左的(我相信 C# 中的所有赋值都是如此,而且可能是 Java,尽管我没有检查后者)。但是,
我是一名优秀的程序员,十分优秀!