Javascript 将函数导入规范并在cypress中的多个测试之间共享值的推荐方法?
我需要访问规范文件中的“随机字符串生成器函数”,并调用该函数,并且能够访问规范文件中所有测试中返回的随机值 推荐的方法是什么 编辑:更多关于我想做的事情: 在规格开始时,我生成一个随机数, 我们将其作为id在第一次测试中创建条目 在第二次测试中搜索并编辑它Javascript 将函数导入规范并在cypress中的多个测试之间共享值的推荐方法?,javascript,cypress,Javascript,Cypress,我需要访问规范文件中的“随机字符串生成器函数”,并调用该函数,并且能够访问规范文件中所有测试中返回的随机值 推荐的方法是什么 编辑:更多关于我想做的事情: 在规格开始时,我生成一个随机数, 我们将其作为id在第一次测试中创建条目 在第二次测试中搜索并编辑它 在第三个…中删除它。您可以通过使用获得更适合使用的随机字符串 这篇文章的样本 /cypress/plugins/index.js const faker=require(“faker”); module.exports=(打开,配置)=>{
在第三个…中删除它。您可以通过使用获得更适合使用的随机字符串 这篇文章的样本 /cypress/plugins/index.js
const faker=require(“faker”);
module.exports=(打开,配置)=>{
关于(“任务”{
freshUser(){
用户={
用户名:faker.name.firstName(),
电子邮件:faker.internet.email(),
密码:“超级机密”,
};
返回用户;
},
});
};
在测试中
//
让用户;
描述(“摘要后测试”,()=>{
前(函数(){
任务(“freshUser”)。然后((对象)=>{
用户=对象;
});
});
它(“注册一个新用户”,()=>{
蜂王座({
用户名:user.username,
电子邮件:user.email,
密码:user.password,
});
});
});
Kevin的完整repo是。如果您的随机函数是同步的,那么就更容易了,您可以将它添加到Cypress对象并直接使用它进行测试 将其放在cypress/support/index.js中或测试顶部
Cypress.userName=()=>`User-${Math.floor(Math.random()*100000)};
在测试中
description('添加、编辑、删除用户',()=>{
const userName=Cypress.userName();//此块中所有测试的随机名称相同
它('添加用户',()=>{
cy.get('.username').type(username);
cy.get('Submit')。单击();
})
它('搜索用户',()=>{
cy.get('.search').type(用户名);
cy.get('.found user')。应('contain',userName');
})
它('拒绝未知用户',()=>{
const anotherUser=Cypress.userName();//此处提供了新名称
cy.get('.search').type(另一个用户);
cy.get('.find user')。应('not.contain',另一个用户);//尚未添加
})
})
作为奖励,您不必特别小心地一直使用it(“…”,function(){
,它与arrow函数格式it(“…”,()=>{
)配合使用