describe('CMS Department', () => {
beforeEach(() => {
// Navigate to the desired URL before each test
cy.visit('https://whitecode.biz/staging/cms/admin');
Cypress.on('uncaught:exception', (err, runnable) => {
// returning false here prevents Cypress from
// failing the test
return false
})
});
it('Add_Dept_Possitive_Scenario', () => {
cy.fixture('cmslogin').then((data) => {
const login = new Department();
login.setEmail(data.email);
login.setPassword(data.password);
login.clickSignIn();
})
const dept = new Department();
dept.Open_Dept();
dept.Add_New_Dept();
dept.Breadcrum_Image();
dept.Faculty_Select("1");
dept.Department_Name("Re-department")
dept.Show_On_Website();
dept.Add_Department();
});
it('Edit_Department', () => {
cy.fixture('cmslogin').then((data) => {
const login = new Department();
login.setEmail(data.email);
login.setPassword(data.password);
login.clickSignIn();
})
const dept = new Department();
dept.Open_Dept();
dept.Edit_Record();
})
Run Code Online (Sandbox Code Playgroud)
在第一个测试执行后,第二个测试用例不会从现有页面开始,而是从登录页面再次开始。我预计第二个测试用例从现有页面开始。
已经给出的答案不是很有帮助,只需摇动手指并告诉您不能做什么。
实际上,您可以使用该cy.session()命令来处理登录状态。此命令用于在测试ref之间重新创建一致的浏览器上下文。
您的代码的用法类似于
describe('CMS Department', () => {
beforeEach(() => {
cy.visit('https://whitecode.biz/staging/cms/admin');
cy.session(() => {
cy.fixture('cmslogin').then((data) => {
const login = new Department();
login.setEmail(data.email);
login.setPassword(data.password);
login.clickSignIn();
})
})
});
it('Add_Dept_Possitive_Scenario', () => {
const dept = new Department();
...
});
it('Edit_Department', () => {
const dept = new Department();
...
})
Run Code Online (Sandbox Code Playgroud)
您还可以从此博客“编写依赖于其他测试的测试”获得对此问题的积极意见。
Gleb Bahmutov 是 Cypress 的主要架构师之一,并且仍在开发新的实用模式。
事实上,当您有 Cypress 问题需要解决时,我什至建议忽略此论坛中给出的 90% 的意见(包括我自己的意见)并首先搜索 Gleb 的博客。
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |