提问人:Jimmy 提问时间:4/13/2023 更新时间:4/14/2023 访问量:282
Cypress API 测试:如何访问从它块生成的数据到另一个 it 块
Cypress API testing : How to access data generated from it block to another it block
问:
如何访问从第一个区块到第二个区块生成的令牌。it
it
代码如下:
第一个IT块
it('Login using new user', () => {
cy.api({
method: "POST",
url: "https://api-stg.sample.com/v1/user/login",
body:
{
"mobile_number": "+9912345678"
"password": "p@ssword"
}
})
.then((response) => {
expect(response.status).to.eq(200)
})
.then((response) => {
const bearer_token = response.body.data.user.access_token.token //
*in here where I get and put the token in var bearer_token*
cy.log("Bearer token: " + token )
})
})
第 2 个 IT 块
it('Create New Mobile', () => {
cy.api({
method: "POST",
url: "https://api-stg.sample.com/v1/user/add_new_mobile_numbers",
headers: {
'Authorization': 'Bearer ' + token // *in here where I put the token*
},
body:
{
"mobile_prefix": "+991",
"mobile_number": "9912345679"
}
})
我从第一个区块登录,然后我需要使用令牌在第二个区块中添加新的手机号码。
在 Cypress Dashboard 中,它返回一个错误:token is not defined
答:
1赞
Izzy.Du
4/14/2023
#1
这是通过 保存到测试环境变量的理想选择,因为它们在测试边界上持续存在。Cypress.env()
it('Login using new user', () => {
cy.api(...)
.then((response) => {
const token = response.body.data.user.access_token.token
// store env var
Cypress.env('token', token)
})
...
it('Create New Mobile', () => {
cy.api({
...
headers: {
'Authorization': `Bearer ${Cypress.env('token')}` // use env var
...
请参阅环境变量
评论
localStorage