Cypress如何写断言?

简介: 大家好,我是阿萨。之前写post的断言时写过一篇文章。[用Postman 如何设置断言?]文章提到过Postman 用chai 写断言。cypresss 其实也是用chai写断言的。

cypress 支持TDD和BDD 2种写法。今天给大家举一些例子。


1.should最常用的就是 文本是否相等。可以比较属性的值,也可以看是否有该属性等。其实就是我们常用的equal, 里面写上它的属性,或者数值等。比如如下例子里 textbox 里的文本,应该等于”Sarah‘s offical account“。


cy.get('.textbox').should('have.text', 'Sarah‘s offical account')


2. and

当一个对象有多个校验点的时候,我们就可以用and。比如一个链接类的文本内容,除了比较文本,还可以看它是否是active的,以及它的属性等。 And 是在should 的基础上,一次性比较多个属性。避免写多行的的断言校验,比如验证link 的class 属性必须是active,同时有一个hred的属性,而且它的链接里必须要包含”Sarah“. 这个关键字。


cy.get('.link').should('have.class', 'active')  
  .and('have.attr', 'href')  
  .and('include', 'Sarah')


3.expect

其实是BDD的写法,就是期望值和实际值的比较。 这个就相当于 等号的的左边有右边。expect 的参数写实际值,然后写期望值。


expect(true).to.be.true.


4. assert和BDD对应的TDD的写法。 assert 就是我们常见的写断言的方式。 可以比较对象类型,比较具体文本是否相等,也可以比较具体的实例里的长度和内容。


var assert = require('chai').assert , 
sarah = 'bar' , 
beverages = { tea: [ 'chai', 'matcha', 'oolong' ] }; 
assert.typeOf(sarah, 'string'); 
// without optional message 
assert.typeOf(sarah, 'string', 'sarah is a string'); 
// with optional message 
assert.equal(sarah, 'bar', 'sarah equal `bar`'); 
assert.lengthOf(foo, 3, 'sarah`s value has a length of 3');
assert.lengthOf(beverages.tea, 3, 'beverages has 3 types of tea');


写断言的方法可以参考下chai  www.chaijs.com/guide/style…

cypress  写断言相对来说比较简单。今天的内容也相对比较简单。


你学会了吗?


如果觉得阿萨的内容对你有帮助,欢迎围观点赞。

相关文章
|
8月前
|
测试技术
测试报告怎么写
测试报告怎么写
122 0
|
3月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
91 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
8月前
Cypress那些好用的写法
Cypress那些好用的写法
103 1
|
8月前
cypress如何写断言?
cypress如何写断言?
|
8月前
Playwright系列(9):如何写断言
Playwright系列(9):如何写断言
689 0
|
测试技术
自动化测试教程(15)数据断言
(4)通过比对页面元素的属性信息,检查测试用例执行结果的正确性,编写代码如下:FindElement().get_attribute(“value”)断言以后用的非常多,他可以判断我们程序是否正确,也可以判断数据驱动后结果是否正确,也可以判断内容是否正确,用处很多,需要熟练掌握。(1)通过比对页面元素的文本信息,检查测试用例执行结果的正确性,编写代码如下:Find_element().text。(3)通过对比网址信息,检查测试用例执行结果的正确性,编写代码如下:Driver.current_url。
自动化测试教程(15)数据断言
【pytest】(十二)参数化测试用例中的setup和teardown要怎么写?
【pytest】(十二)参数化测试用例中的setup和teardown要怎么写?
【pytest】(十二)参数化测试用例中的setup和teardown要怎么写?
|
JavaScript 前端开发 安全
Cypress 好用的用法
大家好,我是阿萨。之前学习了cypress的最基本的用法。可是有些同学还是反馈不会写cypress,怎么办? 今天就列举一些常见的cypress的写法。
293 0
|
测试技术
闭包思维自动生成unittest 接口测试用例脚本
闭包思维自动生成unittest 接口测试用例脚本
闭包思维自动生成unittest 接口测试用例脚本