(三)Cypress之常用方法详述

1.1 常见基本方法

  • beforeEach:执行测试用例之前操作,一个  describe()  或 context() 内有多少个测试用例 it() ,就会执行几次 beforeEach()
  • visit:在前置钩子函数beforeEach里面访问对应的链接

1.2 实例说明:

1  beforeEach(() => {
2       cy.visit('cashticket?isdebug=true&userid=pd86068&isskipoauth=true');
3       cy.wait(waitPageTime);
4     })

2.1 常见基本方法

  • get:定位元素,用css selector定位选择器
  • type:输入文本
  • focus:元素聚焦
  • should:断言,hava.value 是元素的value属性值,判断是否为‘某个值’
  • wait:等待数毫秒或等待别名资源解析后,再继续执行下一个命令

2.2 实例说明:

it('Package Type', () => {

      cy.get('#securityControl',{timeout:timeOut}).

          focus().type('10y').wait(waitTime).

          type('{enter}').//输入回车键

          should('have.value','T 0 5/8 08/15/30 91282CAE1 US91282CAE12');

          cy.wait(waitTime1);

          cy.get('#packageType>div>div>input').

          should('be.visible');

})

3.1获取当前页面URL

cy.url()

cy.url().should('contain','link')

3.2刷新页面

//等同于F5

cy.reaload()

//等同于ctrl+F5强制刷新

cy.radload(true)

3.3设置窗口

cy.viewpoint(1024,768)

3.4利用jQuery判断元素是否存在

const btn = '#btn'
Cypress.$(btn).length>0{
 cy.get(btn).click()
}

3.5获取元素的属性值

cy.get('#btn').then(function(){
   const btnTxt = $btn.text()
   cy.log(btnTxt)
})

3.6清除文本

cy.get('div>a').clear()
cycy.get('div>a').clear().type()

4.1操作单选多选按钮

//选中
cy.get('radio').first().check('us)
//取消选中
cy.get('radio').uncheck('us)
//选中所有复选框
cy.get('[type="checkbox"]').check()
//勾选值为’ subscribe ‘和’ accept '的复选框
cy.get('form input').check(['subscribe', 'accept'])

4.2操作下拉菜单

cy.get('select').select('下拉选项的值')
cy.get('li').eq(0).click()

4.3操作弹出框

cy.get('iframe')
    .then(function($iframe){
     //定义要查找的元素
     const $body = $iframe.contents().find('body')
     //在查找到的元素中查找btn并单击
     cy.wrap($body).find('#bin').click()
})

4.4操作被覆盖的元素

cy.get('#btn').click({force:true})

4.5模拟键盘操作

cy.get('input').type('111')
cy.get('input').type('{enter}')

参考文章:https://zhuanlan.zhihu.com/p/148286130

原文地址:https://www.cnblogs.com/qing-5/p/13725143.html