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)、指定位置滑动,比如
目录
相关文章
|
开发框架 小程序 JavaScript
基于mpvue框架的小程序项目搭建入门教程一
基于mpvue框架的小程序项目搭建入门教程一
149 0
|
JavaScript 前端开发
vuejs及相关工具介绍
vuejs及相关工具介绍
53 0
|
3月前
|
存储 JavaScript
这一定是最有用的vite插件入门教程了!
【8月更文挑战第3天】 vite插件核心在于几个钩子函数的理解与使用,想开发vite插件,掌握这几个插件即可。本文中探讨了**config钩子**和**transformIndexHtml钩子**,相信大家看完对插件开发一定有了最基本的认识与方向!
74 3
|
6月前
|
Web App开发 测试技术 C++
Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
Playwright是新兴的跨浏览器测试工具,相比Selenium,它支持Chrome、Firefox、WebKit,执行速度快,选择器更稳定。安装Playwright只需一条`pip install playwright`的命令,随后的`playwright install`会自动添加浏览器,无需处理浏览器驱动问题。这一优势免去了Selenium中匹配驱动的烦恼。文章适合寻求高效自动化测试解决方案的开发者。
|
6月前
|
Web App开发 Python
【python自动化】Playwright基础教程(二)
【python自动化】Playwright基础教程(二)
120 0
|
6月前
|
JavaScript 前端开发
Nodejs 第六章(npx)
Nodejs 第六章(npx)
104 0
|
JavaScript 前端开发 测试技术
软件测试|web自动化测试神器playwright教程(二十三)
软件测试|web自动化测试神器playwright教程(二十三)
|
测试技术 Windows
软件测试|web自动化测试神器playwright教程(十七)
软件测试|web自动化测试神器playwright教程(十七)
|
安全 测试技术 Windows
软件测试|web自动化测试神器playwright教程(十六)
软件测试|web自动化测试神器playwright教程(十六)
|
JavaScript 前端开发 测试技术
软件测试|web自动化测试神器playwright教程(十五)
软件测试|web自动化测试神器playwright教程(十五)