自动化测试-Cypress快速入门

这篇具有很好参考价值的文章主要介绍了自动化测试-Cypress快速入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

cypress介绍

  • 一个前端自动化测试工具
  • 不同于其他只能测试 UI 层的前端测试工具,Cypress 允许编写所有类型的测试,覆盖了测试金字塔模型的所有测试类型**【界面测试,集成测试,单元测试】**
  • Cypress 测试代码和应用程序均运行在由 Cypress 全权控制的浏览器中
  • 且它们运行在同一个Domain 下的不同 iframe 中,所以 Cypress 的测试代码可以直接操作 DOM、Window Objects、Local Storages而无须通过网络访问
  • Cypress 架构不使用 Selenium 或 Webdriver,在运行速度、可靠性测试、测试结果一致性上均有良好保障

安装cypress

1、安装nodejs
http://nodejs.cn/download/,下载msi后直接安装就可以使用了
自动化测试-Cypress快速入门

2、进入想要安装cypress的目录cmd下执行
npm init
会生成package.json后
执行 npm install cypress --save-dev 安装cypress
package.json 文件这个文件也可以自己创建,通常存在于项目的根目录下,它定义了这个项目所需要的各种模块、配置信息(如:名称、版本、依赖、脚本等)

打开cypress

进入 Cypress安装目录\node_modules.bin 目录,输入
npm run cypress:open
正确的打开方式
自动化测试-Cypress快速入门

选择E2E,会扫描电脑上的浏览器。
自动化测试-Cypress快速入门

自动打开浏览器,打开了一个服务
自动化测试-Cypress快速入门

示例项目用例执行

在cypress里,每一个js文件就是一个测试集合。
选择scaffold exampl specs,会自动给项目添加示例,这些js文件被添加至项目e2e目录下
自动化测试-Cypress快速入门

选择一条单击进入即开始执行
自动化测试-Cypress快速入门

点击每一条用例可查看详细,右侧会自动显示dom截图。

可以修改js文件,测试用例会自动重新加载并执行,如下修改了用例名称。
自动化测试-Cypress快速入门

元素定位

cypress用的是css选择器方式定位
advanced-examples里介绍了很多元素的操作
自动化测试-Cypress快速入门
4213eed1a97&title=&width=598.9333333333333)

#id 选择器

通过元素的 id 属性来定位
cy.get(“#main1”).click()

.class 选择器

通过元素的 class 属性来定位
cy.get(“.btn”).click()

属性选择器

通过元素的各种属性来定位
cy.get(“button[id=‘main2’]”).click()

css选择器写法:https://www.cnblogs.com/poloyy/p/12629662.html
也可以在元素页面右键复制selector
自动化测试-Cypress快速入门

查找元素

以下都用advanced项目中的代码为例

  • get(selector)

该用法用来在 DOM 树中查找 selector 对应的 DOM 元素
自动化测试-Cypress快速入门

  • .find(selector)

该定位方法用来在 DOM 树中搜索已被定位到的元素的后代,并将匹配到的元素返回为一个新的 jQuery 对象【注意,不是返回元素对象】
自动化测试-Cypress快速入门

这里先找到了form,又找它的子节点

  • .contains()

该方法可用来获取包含指定文本的 DOM 元素
两种语法格式
.contains(content) .contains(selector, content)

元素操作

https://example.cypress.io/commands/actions
如果熟悉selenium,这些元素操作都是比较相似的,详细可查看上面链接

输入.type

cy.get('.action-email')
  .type('fake@email.com').should('have.value', 'fake@email.com')

type也支持输入快捷键,键盘上下左右键,组合键

清空 .clear()

cy.get('.action-clear').type('Clear this text')
  .should('have.value', 'Clear this text')
  .clear()
  .should('have.value', '')

提交表单.submit()

cy.get('.action-form')
  .find('[type="text"]').type('HALFOFF')
cy.get('.action-form').submit()
  .next().should('contain', 'Your form has been submitted!')

点击元素.click()

cy.get('#action-canvas').click() //默认点击元素中心
cy.get('#action-canvas').click('bottomRight') 
cy.get('#action-canvas').click(80, 75) //点击坐标
// click multiple elements by passing multiple: true 点击多个元素
cy.get('.action-labels>.label').click({ multiple: true })

双击.dblclick()

cy.get('.action-div').dblclick()

右击.rightclick()

cy.get('.action-div').rightclick()

勾选checkbox .check()

cy.get('.action-checkboxes [type="checkbox"]').not('[disabled]')
  .check().should('be.checked')

取消勾选.uncheck()

cy.get('.action-check [type="checkbox"]')
  .not('[disabled]')
  .uncheck().should('not.be.checked')

选择option.select()

cy.get('.action-select')
  .should('have.value', '--Select a fruit--')

滑动到视图.scrollIntoView()

cy.get('#scroll-horizontal button')
  .should('not.be.visible')

滑动滑块.trigger()

自动化测试-Cypress快速入门文章来源地址https://www.toymoban.com/news/detail-414303.html

cy.get('.trigger-input-range')
  .invoke('val', 25)
  .trigger('change')
  .get('input[type=range]').siblings('p')
  .should('have.text', '25')

到了这里,关于自动化测试-Cypress快速入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 比selenium体验更好的ui自动化测试工具: cypress介绍

    话说 Cypress is a next generation front end testing tool built for the modern web. And Cypress can test anything that runs in a browser.Cypress consists of a free, open source, locally installed Test Runner and a Dashboard Service for recording your tests. 吹的挺好哈,那咱也来尝试玩玩,试试,哈哈! 1、在Windows 7以上的环境中,可

    2024年01月16日
    浏览(48)
  • 几个Web自动化测试框架的比较:Cypress、Selenium和Playwright

    介绍: Web自动化测试框架对于确保Web应用程序的质量和可靠性至关重要。它们帮助开发人员和测试人员自动执行重复性任务,跨多个浏览器和平台执行测试,并在开发早期发现问题。 本文探讨来3种流行的Web自动化测试框架——Cypress、Selenium和Playwright,总结了它们的优点和缺

    2024年02月11日
    浏览(43)
  • Postman Newman API 自动化测试快速入门

    Newman 是一款专为 Postman 打造的命令行工具,旨在通过自动运行 Postman 集合和环境,实现 API 测试的自动化。它使得开发者无需打开 Postman 图形界面,即可直接在命令行中执行测试用例。 使用 Newman 进行 API 测试,可以带来诸多好处: 快速反馈 :每当代码发生变更,开发者都可

    2024年04月14日
    浏览(80)
  • Cypress.io:快速简单可靠的浏览器测试工具 | 开源日报 No.142

    Stars: 45.5k License: MIT Cypress.io 是一个快速、简单和可靠的浏览器测试工具,可以用于任何在浏览器中运行的内容。它支持 Mac、Linux 和 Windows 系统,并提供了安装指南。 Stars: 4.1k License: GPL-3.0 DeskHop 是一个快速切换桌面的设备,它允许用户通过键盘快捷键或鼠标指针在不同操作系

    2024年01月25日
    浏览(52)
  • Diffblue Cover AI Java:Difflane如何利用Diffblue Cover AI实现Java自动化的单元测试(Diffblue Cover快速入门

    三、如何使用 1、Diffblue Cover:下载链接https://www.diffblue.com/community-edition/download 2、关于Cover IntelliJ插件 有两个Diffblue IntelliJ插件-完整的Cover IntelliJ插件和Cover Community Edition IntelliJ插件。Cover Community Edition是免费的,可以用于开放源代码项目;Cover的完整(收费)版本可用于任何

    2024年04月11日
    浏览(44)
  • 拥抱自动化测试,快速升职加薪丄Selenium+Pytest自动化测试框架教你如何做到

    引言 Selenium+Pytest自动化测试框架是目前最流行的自动化测试工具之一,其强大的功能和易用性援助许多开发人员和测试人员。 selenium自动化+ pytest测试框架禅道实战 选用的测试网址为我电脑本地搭建的禅道 conftest.py更改 config.ini更改 conf.py更改 page更改 page_element更改 page_obje

    2023年04月24日
    浏览(76)
  • selenium测试框架快速搭建(UI自动化测试)

    一、介绍         selenium目前主流的web自动化测试框架;支持多种编程语言Java、pythan、go、js等;selenium 提供一系列的api 供我们使用,因此在web测试时我们要点页面中的某一个按钮,那么我们只需要获取页面,然后根据id或者name找到对应的按钮,然后执行click操作就可以完成

    2024年02月02日
    浏览(71)
  • cypress基础教程1-测试用例和钩子函数

    cypress 每个用例文件中在  describe(\\\'文件名/用例组名称\\\', () = {})  内部写具体的测试用例。 其中 describe 块中的 {} 内部每一个测试用例都是一个  it(\\\'用例名称\\\', () = {})  代码块。 2. 测试前后相同操作的重用 cypress 使用 beforEach 钩子函数在每一个测试用例运行前执行操作,afterE

    2024年02月16日
    浏览(37)
  • 【接口自动化测试入门】从0到1落地接口自动化测试

    前段时间写了一系列自动化测试相关的文章,当然更多的是方法和解决问题的思路角度去阐述我的一些观点。这篇文章来聊聊新手如何从零到一落地实践接口自动化测试。 早些时候,软件研发交付流程大多遵循V型或W型的瀑布模式,这种模式下只有开发编码完成才会提测进入

    2024年02月04日
    浏览(52)
  • 微信小程序自动化测试框架 Minium——快速开始

    Minium 是微信测试团队为小程序专门开发的自动化框架。它实现了miniprogram-automator 中小程序自动化能力。使用 Minium 可以进行小程序 UI 自动化测试,但是 minium 的功能不止于仅仅是 UI 自动化,甚至可以使用 Minium 来进行函数的 Mock,可以直接跳转到小程序某个页面并设置页面数

    2023年04月23日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包