javascript - 复制到剪贴板并将其粘贴到赛普拉斯的必填字段
问题描述
我对赛普拉斯有疑问。测试是每次创建一个新用户,并验证它是否是在云中创建的。我想将动态电子邮件(包含时间戳)存储到一个变量中,并在另一个测试中使用这个变量。至此,电子邮件已成功创建。但是,当我导航到另一个 URL 时,它会在云内的搜索字段中生成另一封电子邮件。
所以,我在一些博客中看到使用复制到剪贴板并粘贴它。但这些功能并不那么清楚。任何建议都会有很大帮助。
解决方案
如果您想保存信息以在另一个测试中使用,您可以使用固定装置。使用 将信息保存到测试 1 中cy.writeFile
的夹具,使用 . 从测试 2 中的夹具加载cy.fixture
。
参考:
- 夹具:https ://docs.cypress.io/api/commands/fixture.html#Syntax
- 写文件:https ://docs.cypress.io/api/commands/writefile.html#Syntax
cy.fixture
您可以将信息保存为 json 格式,以便在下一次测试中轻松检索。
例子:
// inside test 1
cy.writeFile(fixtureAbsoluteFilePath, {email:"foo@foo.com"});
// inside test 2
cy.fixture(fixtureRelativeFilePath).then((json) => {
// use data in test
testSomeStuff(json.email);
}
请注意,cy.writeFile
将使用夹具文件夹内的绝对文件路径,并cy.fixture
使用夹具文件夹内的相对路径。
推荐阅读
- prometheus - 普罗米修斯 | 根据另一个指标过滤查询
- python - 如何使用pybind11在c++中调用python内置函数
- c# - HttpClient 中的 PostAsync 不会将数据发送到我的 webapi
- javascript - AJAX 将变量从范围滑块传递到 PHP 查询
- python - Python - Beautiful Soup 4 - 'NavigableString' 对象没有属性 'find_all'
- linux - 无法在 Ubuntu 上设置 Git
- java - 在 android apk 中从 .jar 库中保存 *.so 库
- spring - Flutter 客户端订阅 Spring Boot Websocket Server
- typescript - 当我以 ES6 为目标时,Typescript 编译器缺少 ECMAScript 5 支持
- c# - 如何在 C# 中将一个 WebMethod 字段调用到另一个 WebMethod