赛普拉斯-如何为每个测试用例编写一个代码

时间:2018-12-02 16:04:55

标签: javascript testing package automated-tests cypress

在赛普拉斯中,某种包装中的每个测试用例只能有一个代码吗?

例如:我有一个相同的过程来单击我的网站,但是我需要有20个测试用例。该网站仍在升级,因此,如果网站要更改,我不想对每个测试用例的代码都进行更改,而只能在一个地方进行更改。

感谢您的帮助。

1 个答案:

答案 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()
});