在赛普拉斯中,某种包装中的每个测试用例只能有一个代码吗?
例如:我有一个相同的过程来单击我的网站,但是我需要有20个测试用例。该网站仍在升级,因此,如果网站要更改,我不想对每个测试用例的代码都进行更改,而只能在一个地方进行更改。
感谢您的帮助。
答案 0 :(得分:1)
这是我在commands.js文件中添加的常见login
的示例。在我的测试需求中,对于每个测试套件,我都需要有一个login()
函数被调用。我在这里调用before({})
标记内的login(),该标记在该块中的所有测试之前运行一次。我猜想,您可以通过类似的方式添加click through my website
,但是需要更详细地了解程序的流程。
/ integration / examples
测试套件和测试
describe('Some name of the test suite', function(){
before('Before the test clear previous Cookies', () => {
cy.wait(2000)
cy.clearCookies()
cy.login(Cypress.env('username'), Cypress.env('password'))
});
/* Test case 1*/
it('Name of first test case', function(){
// test steps to add
})
/* Test case 2*/
it('Name of second test case', function () {
// test steps to add
})
})
/support/commands.js文件
Cypress.Commands.add('login', (username, password) => {
cy.visit('/')
cy.get("#Loginuser").type(username)
cy.get("#Loginpass").type(password, {log:false})
cy.get("button[type='submit']").contains("Login").click()
});