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)、指定位置滑动,比如
目录
相关文章
|
6月前
AutoLisp入门教程
AutoLisp入门教程
|
7月前
|
前端开发 安全 测试技术
Cypress哪些坑
Cypress哪些坑
|
JavaScript 安全 前端开发
【超详细】Zod 入门教程
Zod 是一个以 TypeScript 为首的模式声明和验证库 ,弥补了 TypeScript 无法在运行时进行校验的问题 ,既可以用在服务端也可以运行在客户端,以保障 Web Apps 的类型安全
587 0
【超详细】Zod 入门教程
|
JavaScript 测试技术
cypress初探
E2E测试会发现启动的方式很简单,那么对应的组件测试,也是一样的简单。这样就不演示了,等一下来编写对应的组件,来看看效果
cypress初探
|
IDE 测试技术 开发工具
Python测试框架:pytest学习笔记
Python测试框架:pytest学习笔记
537 0
 Python测试框架:pytest学习笔记
|
测试技术
loadrunner入门教程(29) --场景查看
场景查看页面一些基本参数的查看
186 0
loadrunner入门教程(29) --场景查看
|
监控 前端开发 Devops
Cypress简易入门教程(下)
Cypress简易入门教程(下)
269 0
|
容器
MVVMToolkit入门教程
MVVMLight已经停止维护,可以考虑MVVMToolkit来替代,MVVMToolkit官方文档两个框架的基本使用方法类似,下面介绍一下不同之处(建议查看一下上一篇关于MVVMLight的文章)。
270 0