cypress是前端UI自动化测试工具
cypress 安装:
1、下载安装NodeJS,安装完成后 使用 node -v 验证是否安装成功
2、使用命令npm init --yes来初始化一个package.json文件
4、启动cypress:C:\XXXX\node_modules\.bin>cypress open 或者使用 npx cypress open
5、describe()代表测试套件,也可以用context()代替,是一样的;一个describe()至少要包含一条测试用例:it()
6、cypress里的hook函数(钩子函数)指的是:before()\after()\beforeEach()\afterEach();若包含多级测试套件,父级套件声明的钩子函数会作用于所有的子级套件的测试用例
7、cypress中跳过某些用例和只执行某些用例:跳过测试套件:describe.skip()或者是context.skip();跳过测试用例:it.skip();指定只执行某些测试套件:describe.only()或者是context.only();指定只执行某些测试用例:it.only()
8、this.skip();测试用例里(it)里调用该方法的时候,方法后面的代码都不会被执行;方法前面如果是调用cypress的方法也不会被执行,如:cy.visit(),cy.get(),只有非cypress方法才会被执行,例如:console.log("1234")
9、BDD格式的断言:expect、should;TDD格式的断言:assert
10、cypress点击操作三个命令:click 单击;dbclick 双击;rightclick 右击
11、cypress的定位方法:属性选择器
12、设置窗口大小:cy.viewport(width,height)
13、cypress定位元素,如果元素定位时路径相同不好区分的元素可以使用cy.get('div[class="class"]').first().click();或者是cy.get('div[class="class"]').last().click();
14、对于鼠标悬浮的操作,直接使用鼠标悬浮不生效,可以增加右键操作使悬浮效果生效:
cy.get('元素').trigger('mouseover');
cy.get('元素').rightclick();
15、只有form元素才能调用submit:cy.get('form').submit();
16、必须是DOM元素才能聚焦或者是失焦:
聚焦:cy.get('DOM').focus 失焦:cy.get('DOM').blur();.
17、必须是DOM元素才能使用滚动:cy.get('DOM').scrollIntoView(options:{duration:2000}) 持续滚动2000ms
18、获取页面的标题:cy.title();
19、获取页面的url:cy.url()、cy.location('href')
20、获取当前页面的window对象:cy.window();
21、页面重新加载:cy.reload();
22、设置页面尺寸:cy.viewport(550,750);
23、访问远程URL:cy.visit();