前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cypress测试用例的编写学习笔记

Cypress测试用例的编写学习笔记

原创
作者头像
wencheng
修改2021-01-06 10:44:16
1.1K0
修改2021-01-06 10:44:16
举报

前言

cypress 底层依赖于很多优秀的开源框架,其中包含Mocha。mocha是一个适用于Node.js和浏览器的测试框架。它使用异步测试变得简单、灵活和有趣。

在Cypress中基于mocha提供的如下基本功能模块

  • describe()
  • context()
  • in()
  • before()
  • beforeEach()
  • afterEach()
  • after()
  • .only()
  • .skip()

下面我们来说下每个函数

  • describe()

describe(name, function(){}) 可以理解为一个模块,在模块内可以下嵌套多个it() 参数name为字符串可以理解为测试用例集描述,function()用于执行步骤。

  • it()

用于声明一个测试用例,describe()套件中必须至少含有一个it()。

钩子函数用法

  • before()初始化执行所有用例之前运行,执行一次
  • beforeEach() 每条用例执行之前都执行
  • afterEach() 每条用例执行之后都执行
  • after() 初始化执行所有用例完之后运行,执行一次
代码语言:javascript
复制
/**
 * 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")
		
	})
})

执行结果:

.skip()用于跳过不需要执行的测试集合describe()或者测试用例it()

跳过describe()

代码语言:javascript
复制
/**
 * 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()

代码语言:javascript
复制
/**
 * 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()

代码语言:javascript
复制
/**
 * 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()

代码语言:javascript
复制
/**
 * 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")
	})
})

执行结果可以看到只有第一个测试用例被执行了,第二个没执行。

  • 动态使用.skip函数跳过用例

根据判断来进行

代码语言:javascript
复制
/**
 * 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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 在Cypress中基于mocha提供的如下基本功能模块
  • 下面我们来说下每个函数
  • .skip()用于跳过不需要执行的测试集合describe()或者测试用例it()
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档