Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将函数导入规范并在cypress中的多个测试之间共享值的推荐方法?_Javascript_Cypress - Fatal编程技术网

Javascript 将函数导入规范并在cypress中的多个测试之间共享值的推荐方法?

Javascript 将函数导入规范并在cypress中的多个测试之间共享值的推荐方法?,javascript,cypress,Javascript,Cypress,我需要访问规范文件中的“随机字符串生成器函数”,并调用该函数,并且能够访问规范文件中所有测试中返回的随机值 推荐的方法是什么 编辑:更多关于我想做的事情: 在规格开始时,我生成一个随机数, 我们将其作为id在第一次测试中创建条目 在第二次测试中搜索并编辑它 在第三个…中删除它。您可以通过使用获得更适合使用的随机字符串 这篇文章的样本 /cypress/plugins/index.js const faker=require(“faker”); module.exports=(打开,配置)=>{

我需要访问规范文件中的“随机字符串生成器函数”,并调用该函数,并且能够访问规范文件中所有测试中返回的随机值

推荐的方法是什么

编辑:更多关于我想做的事情:

在规格开始时,我生成一个随机数, 我们将其作为id在第一次测试中创建条目 在第二次测试中搜索并编辑它
在第三个…中删除它。

您可以通过使用获得更适合使用的随机字符串

这篇文章的样本

/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(“…”,()=>{
)配合使用