没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
26页
Cypress是一款现代化的JavaScript端到端测试框架,它是一款基于Node.js的开源测试工具。它具有易于安装和使用、内置断言库和高效的并行化测试等特点,可以让测试工程师和开发人员轻松地编写和运行测试用例。Cypress提供了丰富的API和命令,可以模拟用户在浏览器中的交互,并对网页元素进行操作和断言。在Cypress中,测试用例会在一个真实的浏览器环境中运行,因此可以更加准确地模拟用户的操作。 该教程纯中文详细讲解,包含大量示例,不用担心学不会,0基础小白也可快速上手,包含UI自动化、接口自动化、性能测试等其他辅助性测试技能内容。
资源推荐
资源详情
资源评论
Cypress
中
⽂教
程
--
从
⼊
⻔
到
精
通
⼊
⻔
篇
cypress
的
介
绍
与
安
装
Cypress
是
⼀
款
现
代
化
的
JavaScript
端
到
端
测
试
框
架
,
它
是
⼀
款
基
于
Node.js
的
开
源
测
试
⼯
具
。
它
具
有
易
于
安
装
和
使
⽤
、
内
置
断
⾔
库
和
⾼
效
的
并
⾏
化
测
试
等
特
点
,
可
以
让
测
试
⼯
程
师
和
开
发
⼈
员
轻
松
地
编
写
和
运
⾏
测
试
⽤
例
。
Cypress
提
供
了丰
富
的
API
和命
令
,
可
以
模
拟
⽤
⼾
在
浏
览
器
中
的
交互
,
并
对
⽹
⻚
元
素
进
⾏
操
作
和
断
⾔
。
在
Cypress
中
,
测
试
⽤
例会
在
⼀个
真
实
的
浏
览
器
环
境
中
运
⾏
,
因
此
可
以
更
加
准
确
地
模
拟
⽤
⼾
的
操
作
。
安
装
Cypress
⾮
常
简
单
,
只
需
要
使
⽤
npm
安
装
即
可
。
可
以
通过
以
下
命
令
安
装
最
新
版
的
Cypress
:
npm install cypress --save-dev
1
安
装
完
成
后
,
可
以使
⽤
以
下
命
令
打
开
Cypress
测
试
运
⾏
器
:
npx cypress open
1
执
⾏
该
命
令
后
,
Cypress
测
试
运
⾏
器
会
⾃
动
打
开
,
并
显
⽰
可
⽤
的
测
试
⽤
例
。
可
以
通过
在
测
试
运
⾏
器
中
选
择
要
运
⾏
的
测
试
⽤
例
,
然
后
单
击
“
运
⾏
”
按
钮
来
运
⾏
测
试
⽤
例
。
describe('My First Test', () => {
it('Does not do much!', () => {
expect(true).to.equal(true)
})
})
1
2
3
4
5
编
写
第
⼀个
测
试
⽤
例
在
Cypress
中
编
写
第
⼀个
测
试
⽤
例
⾮
常
简
单
。
⾸
先
,
在
项
⽬
的
根
⽬
录
下
创
建
⼀个
名
为
cypress/integration
的
⽂
件
夹
,
⽤
于
存
放
测
试
⽤
例
⽂
件
。
然
后
,
创
建
⼀个
名
为
example.spec.js
的
⽂
件
,
并
将
以
下
代
码
复
制到
该
⽂
件
中
:
describe('My First Test', () => {
it('Does not do much!', () => {
expect(true).to.equal(true)
})
})
1
2
3
4
5
在
上
⾯
的
代
码
中
,
我
们使
⽤
describe
和
it
函
数
来
定
义⼀个
测
试
⽤
例
。
describe
函
数
⽤
于
定
义
⼀个
测
试
套
件
,
it
函
数
⽤
于
定
义⼀个
具
体
的
测
试
⽤
例
。
在
这
个
例
⼦
中
,
我
们
定
义了⼀个
名
为
“
My
FirstTest
”
的
测
试
套
件
,
包
含
了⼀个
名
为
“
Doesnotdomuch!
”
的
测
试
⽤
例
。
在
测
试
⽤
例
中
,
我
们
使
⽤
expect
函
数
进
⾏
断
⾔
,
判
断
true
是
否
等
于
true
。
接
下
来
,
我
们
可
以
在
Cypress
测
试
运
⾏
器
中
运
⾏
这
个
测
试
⽤
例
。
在
运
⾏
器
中
,
选
择
example.spec.js
⽂
件
,
然
后
单
击
“
运
⾏
”
按
钮
。
Cypress
会
在
浏
览
器
中
打
开
⼀个
新
的
窗
⼝
,
并
⾃
动
运
⾏
该
测
试
⽤
例
。
在
测
试
运
⾏
器
中
可
以
看
到
测
试
⽤
例
的
执
⾏
结
果
。
如
何使
⽤
cypress
测
试
⽹
⻚
元
素
在
Cypress
中
,
要
测
试
⽹
⻚
元
素
,
⾸
先
需
要
获
取
到
它
们
的
选
择
器
。
可
以使
⽤
Chrome
浏
览
器
的
开
发
者
⼯
具
(
或
其
他
浏
览
器
的
类
似
⼯
具
)
来
查
找
选
择
器
。
⼀
旦
找
到
选
择
器
,
就
可
以
在
测
试
⽤
例
中
使
⽤
cy.get()
命
令
获
取
该
元
素
。
例
如
,
如
果
要
测
试
⼀个
id
为
“
my-button
”
的
按
钮
,
可
以
在
测
试
⽤
例
中
使
⽤
以
下
代
码
:
describe('My First Test', () => {
it('clicks the button', () => {
cy.visit('https://example.com')
cy.get('#my-button').click()
})
})
1
2
3
4
5
6
在
上
⾯
的
代
码
中
,
我
们
⾸
先
使
⽤
cy.visit()
命
令
访
问
https://example.com
⽹
⻚
,
然
后
使
⽤
cy.get()
命
令
获
取
id
为
“
my-button
”
的
按
钮
,
并
使
⽤
click()
命
令
模
拟
点
击
操
作
。
除
了
cy.get()
命
令
,
Cypress
还
提
供
了
其
他
命
令
来
测
试
⽹
⻚
元
素
,
如
cy.contains()
、
cy.find()
等
。
可
以
查
阅
Cypress
官
⽅⽂
档
获
取
更
多
命
令
的
详
细
信
息
。
cypress
的
命
令
式
编
程
模
型
Cypress
使
⽤
命
令
式
编
程
模
型
来
编
写
测
试
⽤
例
,
也
就
是
说
,
测
试
⽤
例
中
的
每
⼀
⾏
代
码
都
是
⼀个
命
令
,
Cypress
会
按
照
代
码
的
顺
序
依
次
执
⾏
这
些
命
令
。
这
种
编
程
模
型
⾮
常
直
观
,
也
很
容
易
理
解
和
调试
。
例
如
,
以
下
代
码
是
⼀个
简
单
的
Cypress
测
试
⽤
例
:
describe('My First Test', () => {
1
it('visits the homepage', () => {
cy.visit('https://example.com')
cy.contains('h1', 'Example Domain')
cy.url().should('include', 'example.com')
})
})
2
3
4
5
6
7
8
在
上
⾯
的
代
码
中
,
我
们
定
义了⼀个
测
试
⽤
例
,
名
称
为
“
MyFirstTest
”
,
测
试
内
容
是
访
问
https://example.com
⽹
⻚
,
检查
⽹
⻚
中
是
否
包
含
标
题
为
“
ExampleDomain
”
的
h1
元
素
,
并
验
证
当
前
URL
是
否
包
含
“
example.com
”
。
需
要
注
意
的
是
,
Cypress
的
命
令
式
编
程
模
型
使
得
测
试
⽤
例
的
执
⾏
速
度
⾮
常
快
。
在
执
⾏
每
个
命
令
时
,
Cypress
会
⾃
动
等
待
元
素
或
事
件
的
出
现
,
因
此
不
需
要
⼿
动
添
加
等
待
代
码
。
同
时
,
Cypress
还
会
⾃
动
捕捉
错
误
,
并
将
其
显
⽰
在
测
试
结
果
中
,
⽅
便
调试
。
断
⾔
的
使
⽤
和
实
现
在
编
写
测
试
⽤
例
时
,
我
们
需
要
使
⽤
断
⾔
来
验
证
我
们
的
预
期
结
果
是
否
与
实
际
结
果
相
符
。
Cypress
提
供
了⼀
系
列
丰
富
的
断
⾔
⽅
法
,
可
以
帮
助
我
们
轻
松
地
编
写
和
执
⾏
断
⾔
。
以
下
是
⼀些
常
⽤
的
Cypress
断
⾔
⽅
法
:
•
should
:
⽤
于
在
元
素
上
执
⾏
断
⾔
,
例
如
验
证
元
素
是
否可
⻅
、
是
否
包
含
指
定
⽂
本
等
。
⽰
例代
码
:
cy.get('button').should('be.visible')
cy.get('h1').should('have.text', 'Welcome to my website')
1
2
•
expect
:
⽤
于
在
JavaScript
代
码
中
执
⾏
断
⾔
,
例
如
验
证
变
量
的
值
、
函
数
的
返
回
值
等
。
⽰
例代
码
:
expect(true).to.be.trueexpect(42).to.equal(42)
expect([1, 2, 3]).to.have.lengthOf(3)
1
2
•
assert
:
⽤
于
在
JavaScript
代
码
中
执
⾏
断
⾔
,
与
expect
⽅
法
类
似
,
但
语
法
稍
有
不
同
。
⽰
例代
码
:
assert.isTrue(true)
assert.strictEqual(42, 42)
assert.lengthOf([1, 2, 3], 3)
1
2
3
需
要
注
意
的
是
,
Cypress
的
断
⾔
⽅
法
都
是
链
式
调
⽤
的
,
可
以
在
同
⼀个
语
句
中
使
⽤
多
个
断
⾔
⽅
法
,
例
如
:
cy.get('#myElement')
.should('be.visible')
.should('have.text', 'Hello, world!')
1
2
3
上
⾯
的
代
码
中
,
我
们
先
通过
get
⽅
法
获
取
⼀个
ID
为
myElement
的
元
素
,
然
后
对
该
元
素
执
⾏
两个
断
⾔
:
⾸
先
验
证该
元
素
是
否可
⻅
,
然
后
验
证该
元
素
的
⽂
本
是
否
为
“
Hello,world!
”
。
总
之
,
Cypress
的
断
⾔
⽅
法
⾮
常
灵
活
,
可
以
根
据
测
试
需
求
进
⾏
选
择
和
组
合
,
⽅
便
编
写
和
执
⾏
各
种
类
型
的
测
试
⽤
例
。
如
何
在
测
试
中
模
拟
⽤
⼾
操
作
在
Cypress
中
,
可
以使
⽤
cy.get()
⽅
法
定
位
⻚
⾯
元
素
,
并
使
⽤
.click()
⽅
法
来
模
拟
点
击
操
作
。
例
如
,
以
下
代
码
段
将
单
击
⼀个
具
有
id
为
my-button
的
按
钮
:
cy.get('#my-button').click()
1
类
似
地
,
可
以使
⽤
.type()
⽅
法
模
拟
⽤
⼾
在
⻚
⾯
元
素
上
输
⼊
⽂
本
。
例
如
,
以
下
代
码
段
将
在
⼀个
具
有
id
为
my-input
的
输
⼊
框
中
输
⼊
⽂
本
Hello, World!
:
cy.get('#my-input').type('Hello, World!')
1
此
外
,
Cypress
还
⽀
持
模
拟
键
盘
和
⿏
标
事
件
,
如
cy.type()
、
cy.trigger()
等
⽅
法
,
可
⽤
于
更
复
杂
的
测
试
场
景
。
需
要
注
意
的
是
,
由
于
Cypress
采
⽤
了
异
步
架构
,
因
此
在
对
元
素
进
⾏
操
作
时
需
要
添
加
.then()
⽅
法
来
保
证
执
⾏
顺
序
。
例
如
:
cy.get('#my-button')
.then(($button) => {
if ($button.is(':disabled')) {
// Do something
} else {
$button.click()
}
})
1
2
3
4
5
6
7
8
9
以
上
代
码
⾸
先
使
⽤
.get()
⽅
法
获
取
id
为
my-button
的
按
钮
,
然
后
使
⽤
.then()
⽅
法
获
取
按
钮
元
素
的
状
态
,
最
后
执
⾏
点
击
操
作
。
在
测
试
中
使
⽤
fixtures
和
data-driven
测
试
Cypress
中
的
fixture
是
指
测
试
⽤
例
中
使
⽤
的
静
态
数
据
,
通
常
存
储
在
⽂
件
中
。
可
以使
⽤
.fixture()
⽅
法
来
加
载
fixture
⽂
件
,
例
如
:
cy.fixture('example.json').then((data) => {
// do something with data
})
1
2
3
4
以
上
代
码
将
加
载
名
为
example.json
的
fixture
⽂
件
,
并
在
.then()
⽅
法
中
接
收
fixture
⽂
件
中
的
数
据
。
fixture
⽂
件
可
以
是
JSON
、
YAML
、
CSV
、
XML
等
格
式
。
另
外
,
Cypress
还
⽀
持
data-driven
测
试
,
即
在
⼀个
测
试
⽤
例
中
执
⾏
多
个
测
试
数
据
,
以
验
证
同
⼀个
测
试
⽤
例
在
多
个
数
据
下
的
执
⾏
结
果
。
例
如
:
describe('My Data-Driven Test Suite', () => {
[
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 40 }
].forEach((data) => {
it(`should greet ${data.name} correctly`, () => {
cy.visit('/')
cy.get('#name-input').type(data.name)
cy.get('#age-input').type(data.age)
cy.get('#greet-button').click()
cy.get('#greeting').should('contain', `Hello, ${data.name}! You are ${data
})
})
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
以
上
代
码
定
义了⼀个
数
据
数
组
,
并
在
测
试
套
件
中
使
⽤
.forEach()
⽅
法
循
环
执
⾏
数
据
,
每
次
都
执
⾏
相
同
的
测
试
⽤
例
,
以
验
证
不
同
数
据
下
的
测
试
结
果
。
在
测
试
⽤
例
中
,
可
以使
⽤
data
对
象
来
访
问
测
试
数
据
。
如
何使
⽤
环
境
变
量
进
⾏
测
试
配
置
剩余25页未读,继续阅读
资源评论
m0_62959159
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功