【发布时间】:2020-12-01 16:11:19
【问题描述】:
如果我在下面的单个“it”块中进行编码,它对于相同的点击事件可以正常工作。
工作代码:
describe('Test Suite', () => {
it('Test case 1', () => {
//Test 1
//Test 2
})
})
不工作:
describe('Test Suite', () => {
it('Test case 1', () => {
//Test 1
})
it('Test case 2', () => {
//Test 2
})
})
下面是我的代码sn-p,第一个'it'块在登录方法执行后工作正常。然后它会阻止仅单击正确的元素,但页面永远不会加载。
P.S.如果我在单个“it”块下编写代码,页面会加载并正常工作。
describe('Fund Manager Suite', () => {
//Checking Fund Manager page loading
before(() => {
cy.visit('xxxxxxxxxxxxx')
cy.login('xxxxx', 'xxxxx')
})
it('fund manager navigation works', () => {
cy.location('pathname').should('equal', '/xxxxx')
cy.get('#appSwitcher').click()
cy.get('#appSwitcher > .dropdown > .dropdown-menu > :nth-child(2) > a').click()
cy.location('pathname').should('equal', '/xxxxx')
cy.get('.k-grid-table').find('tr').should('have.length', 5)
})
it('fund detail works', () => {
cy.get('.product > :nth-child(2)').click()
cy.location('pathname').should('equal', '/xxxxx')
// Fund Detail - Search
cy.get('#s2id_autogen31').type('Rach')
cy.get('#select2-result-label-32').click()
cy.get('#searchSubmit').click()
cy.get('#DataTables_Table_0').find('tr').should('have.length', 10)
})
})
【问题讨论】:
-
你有
before()或beforeEach()块吗。 -
@AlapanDas I'm have before(() => {。因为我想保持登录状态,无需在第二次测试中重新运行登录场景。
-
@AlapanDas 尝试使用 Cypress.Cookies.preserveOnce('session_id', 'remember_token') 仍然无法加载页面。如果我用 1 'it' 块编写相同的代码,它工作正常。
-
请为下次测试添加一些代码 - 你的问题就像一张空白表格。如果它包含一些个人数据 - 请努力编辑数据,以便人们可以帮助您
-
@RosenMihaylov 我已经更新了上面的代码 sn-p。请检查一下。
标签: javascript automation mocha.js cypress