cypress 底层依赖于很多优秀的开源框架,其中包含Mocha。mocha是一个适用于Node.js和浏览器的测试框架。它使用异步测试变得简单、灵活和有趣。
describe(name, function(){}) 可以理解为一个模块,在模块内可以下嵌套多个it() 参数name为字符串可以理解为测试用例集描述,function()用于执行步骤。
用于声明一个测试用例,describe()套件中必须至少含有一个it()。
钩子函数用法
/**
* Create by dell on 2020/6/6
* 作者 :wencheng
* */
describe('登陆web网站案列', function () {
before(function () {
//初始化执行所有用例之前运行,执行一次
cy.log("我是before")
})
after(function () {
//初始化执行所有用例完之后运行,执行一次
cy.log("我是after")
})
beforeEach(function () {
//每条用例执行之前都执行
cy.log("我是beforeEach")
})
afterEach(function () {
//每条用例执行之后都执行
cy.log("我是afterEach")
})
it('钩子函数测试01', function () {
cy.log("hello cypress")
})
it('钩子函数测试02', function () {
cy.log("hello cypress")
})
})
执行结果:
跳过describe()
/**
* Create by dell on 2020/6/6
* 作者 :wencheng
* */
describe.skip('skip1', function () {
it('skip函数测试01', function () {
cy.log("hello cypress")
})
})
describe('skip12', function () {
it('skip函数测试01', function () {
cy.log("hello cypress")
})
})
执行结果可以看出第一个describe()被忽略了
跳过it()
/**
* Create by dell on 2020/6/6
* 作者 :wencheng
* */
describe('skip3', function () {
it.skip('skip函数测试01', function () {
cy.log("hello cypress")
})
it('skip函数测试02', function () {
cy.log("hello cypress")
})
})
执行结果可以看出第一个it()被忽略了
.only指定要运行的测试模块describe()和测试用例it()
指定要执行的测试模块describe.only()
/**
* Create by dell on 2020/6/6
* 作者 :wencheng
* */
describe.only('only1', function () {
it('only函数测试01', function () {
cy.log("hello cypress")
})
})
describe('only2', function () {
it('only函数测试02', function () {
cy.log("hello cypress")
})
})
执行结果可以看到只有第一个测试用例集被执行了,第二个没执行。
指定要执行的测试用例it().only()
/**
* Create by dell on 2020/6/6
* 作者 :wencheng
* */
describe('only3', function () {
it.only('only函数测试01', function () {
cy.log("hello cypress")
})
it('only函数测试02', function () {
cy.log("hello cypress")
})
})
执行结果可以看到只有第一个测试用例被执行了,第二个没执行。
根据判断来进行
/**
* Create by dell on 2020/6/6
* 作者 :wencheng
* */
describe('skip_Dynamic', function () {
const a = 1
it('skip函数测试', function () {
if (a == 1) {
cy.log("hello cypress")
} else {
cy.log("skip cypress")
this.skip()
}
})
it('skip函数测试', function () {
if (a == 0) {
cy.log("hello cypress")
} else {
cy.log("skip cypress")
this.skip()
}
})
})
执行结果
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。
更多文章关注小编公众号:自动化测试 To share
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。