Cypress简易入门教程(上)

简介: Cypress简易入门教程(上)

1 Windows下安装


1.1方法一

1)安装node.js(https://nodejs.org/en/download/),根据版本选择32位或64位。

2)确认ndejs和npm是否安装上:

C:\Users\xiang>node -v
v12.18.0
C:\Users\xiang>npm -v
6.14.


3)生成package.json(假设准备安装在c:\Cypress>)

C:\Users\xiang>cd c:\Cypress
C:\Cypress>npm init


4)安装Cypress


C:\Cypress>npm install cypress --save-dev


我按照这种方法安装失败。


1.2方法二

1)安装yarn (https://yarnpkg.com/en/docs/install#windows-stable)

2)确认yarn是否安装上

C:\Users\xiang>yarn -v
1.22.4


3)安装Cypress

C:\Users\xiang>cd c:\Cypress
C:\Cypress>yarn add cypress --dev


2. 运行


2.1方法一


C:\Cypress\node_modules\.bin>cypress open


2.2方法二


C:\Cypress>yarn run cypress open


2.3 方法三(我经常用的方法)


配置C:\Cypress\package.json

{
  "license": "ISC",
  "scripts": {
    "cypress:open": "cypress open",
    "cypress:run": "cypress run"
  },
  "devDependencies": {
    "cypress": "^4.8.0"
  }
}


打开运行控制器


C:\Cypress>yarn run cypress open


运行默认路径下的所有测试代码


C:\Cypress>yarn run cypress run


默认路径为C:\Cypress\cypress\integration,可以通过

{
"integrationFolder": "cypress/integration/demo",
}


改变默认路径,上述代码中默认路径改为


C:\Cypress\cypress\integration\demo


3测试框架


  • before():相当于unittest中的def setUp(cls)方法或者Junit的@Before方法标签;
  • after():相当于unittest中的 def teardown(cls) 方法或者Junit的 @Before方法标签;
  • beforeEach() : 相当于unittest中的def setUpClass(cls) 方法或者Junit的@BeforeClass方法标签;
  • afterEach() : 相当于unittest中的def tearDownClass(cls) 方法或者Junit的@AfterClass方法标签。


4 GUI测试代码案例


4.1 第一个测试代码

测试电子商务系统登录程序

describe('login',function(){
  const username = 'cindy'
  const password = '123456'
  context('测试电子商务网站',function(){
    it('登录成功,调到商品列表页面',function(){
      cy.visit('http://127.0.0.1:8000')
      cy.get('input[name=username]').type(username)
      cy.get('input[name=password]').type(password)
      cy.get('form').submit()
      //断言
      cy.url().should('include','/goods_view')
      cy.get('title').should('contain','电子商务系统')
     })  
    })
})


4.2元素查找 - get


<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">


  • 根据元素 id 查找


cy.get('#kw')


  • 根据元素名称查找


cy.get('input[name="wd"]')


  • 根据元素的类名查找


cy.get('.s_ipt')


  • 根据CSS selector查找、


cy.get('input[maxlength ="100"]')


4.3元素查找 – contains

  • 根据元素文本查找


cy.contains('value')


  • 根据元素属性及其文本查找


cy.get('div[name="ele-name"]').contains('value')


  • 使用正则匹配元素文本以查找


cy.get('.class-name').contains(/[0-9]*/)


4.4 操作

  • type(String)、输入,比如
cy.get('#kw'). type('Testing')


  • click()、点击,比如


cy.get('.btn'). click ()


  • clear()、清空input或textarea的内容,比如


cy.get('.ant-input').clear()


  • submit()、提交表单,比如


cy.get('.ant-form').submit()


  • dblclick()、元素双击,比如


cy.get('.ant-btn').dblclick()


  • rightclick()、元素右击,比如


cy.get('.ant-btn').rightclick()


  • select(String)、对元素选择,比如check()、勾选checkbox,比如Uncheck、反选 checkbox,比如scrollIntoView()、如果某个元素不在当前可视范围,可以滑动至可视范围,比如scrollTo(String)、指定位置滑动,比如
目录
相关文章
|
5月前
|
开发框架 小程序 JavaScript
基于mpvue框架的小程序项目搭建入门教程一
基于mpvue框架的小程序项目搭建入门教程一
113 0
|
4月前
|
JavaScript 前端开发
Nodejs 第六章(npx)
Nodejs 第六章(npx)
44 0
|
8月前
|
JSON 自然语言处理 JavaScript
TypeChat 入门指南
TypeChat 是一个革命性的库,它简化了使用 TypeScript 构建自然语言模型界面的过程。 它抹平了自然语言和结构化数据之间的差距,使开发人员更容易将自然语言界面集成到他们的应用程序中。
324 0
|
监控 前端开发 Devops
Cypress简易入门教程(下)
Cypress简易入门教程(下)
196 0
|
存储 Web App开发 移动开发
Day 19: EmberJS 入门指南
到目前为止,我们这一系列文章涉及了Bower、AngularJS、GruntJS、PhoneGap和MeteorJS 这些JavaScript技术。今天我打算学习一个名为Ember的框架。本文将介绍如何用Ember创建一个单页面的社交化书签应用。本教程将包括两篇:第1篇介绍客户端代码和用HTML 5本地存储持久保存数据,第2篇中我们将使用一个部署在OpenShift上的REST后端。过几天我会写第2篇。
285 0
Day 19: EmberJS 入门指南
|
存储 JavaScript 前端开发
grunt入门笔记
grunt在前端工具中算是很有用的一个工具。 想一想如果没有这个工具,我们需要手动新建一个压缩代码后的文件夹,每次修改原始文件,都要手动压缩一下,再保存到压缩后的文件夹,想想都要疯掉。所以,grunt前端必不可少。
94 0
grunt入门笔记
|
JSON 测试技术 Linux
【HttpRunner v3.x】笔记 ——1. 环境安装
【HttpRunner v3.x】笔记 ——1. 环境安装
【HttpRunner v3.x】笔记 ——1. 环境安装
Cypress系列(0)- 如何学习 Cypress
Cypress系列(0)- 如何学习 Cypress
244 0
Cypress系列(0)- 如何学习 Cypress
|
Web App开发 JSON JavaScript
Cypress系列(2)- Cypress 框架的详细介绍
Cypress系列(2)- Cypress 框架的详细介绍
744 0
Cypress系列(2)- Cypress 框架的详细介绍
|
Web App开发 编解码 前端开发
常用的前端自动化测试工具介绍 —— Karma
常用的前端自动化测试工具介绍 —— Karma
624 0
常用的前端自动化测试工具介绍 —— Karma