testing - Cypress.io:如何为不同的用户类型使用一个登录测试?
问题描述
我正在使用 Cypress.io 来测试第三方页面。
我想测试一个登录页面并拥有不同的用户。所有用户都可以访问不同的内容。所以我必须检查他们是否得到了正确的页面。我想使用 1 Test 并将数据传递给这个测试。
没有变量我有这个代码:
cy.xpath("path)
.type('manager')
cy.xpath("path")
.type('password')
cy.xpath('path for login button')
.click()
我怎样才能开始这样做?我可以为此使用固定装置吗?如果是,如何?我可以将带有变量的登录名写入命令中以在其他测试中使用它吗?
解决方案
我会建议[key, value]
成对迭代,比如:
describe('Login', () => {
const userType = new Map([
['userX', password],
['userY', password],
['userZ', password],
]);
for (const [key, value] of userType.entries()) {
it(`should be logged as ${key}`, () => {
cy.visit('/login');
cy.xpath("path).type(key)
cy.xpath("path").type(value)
cy.xpath('path_for_login_button').click()
/*
assert logic here
*/
cy.visit('/logout')
});
}
});
推荐阅读
- php - 如何使用 PHP 获得 2 个不包括周末的日期
- python - 使用 posix 模块检查路径是否可访问
- html - 背景图像没有响应
- powershell - 如何从 PowerShell 调用 gRPC 服务器方法?
- swift - Xcode 强制文档
- python - 初始化子类时对超类变量的可访问性
- macos - 在 macOS Catalina 上从 shell 脚本制作可执行应用程序
- .net - 无法将 React App 连接到 .Net Core API,甚至没有调用 Post 方法
- react-admin - 如何在 react-admin 中更改仪表板图标?
- php - woocomerce 按两种分类法获取当前类别的产品列表