登录测试是自动化开始的第一步,也是关键步骤,之后的每一次步都需要靠登录之后获取的cookie才可进行操作。但是完整的登录测试只需要一次,之后使用登录的时候不需要重复进行登录的UI测试!
警告 不要用你的UI去构建状态。这是非常缓慢,繁琐和不必要的。
describe("企业平台登录",function () {
it('登录', function () {
cy.visit("/#/login")
//选择密码登录
cy.get('#tab-pwd').click()
//:nth-child(n)选择器,匹配其父元素的第n个子元素,不论类型,右键copy-copy selector
cy.get('#pane-pwd > form > div:nth-child(1) > div > div > input')
.type('13700****')
cy.get('#pane-pwd > form > div:nth-child(2) > div > div > input')
.type("123***")
cy.get('#pane-pwd > form > div:nth-child(4) > div > button > span')
.click()
// 选择公司
cy.get('[style="cursor: pointer;"]')
.click()
cy.url().should("contain",'/workbench')
// cy.getCookie('jsessionid').should('exist')
cy.get('ul').should("contain",'工作台')
});
})
根据实际情况而定选择使用什么样的定位元素方法,只要可以定位到唯一的元素即可。
我这里使用的是:nth-child(n)选择器,匹配属于其父元素的第n个子元素,不论元素的类型。打开浏览器审查元素,查找到你需要的那行,