Cypress basics: Selecting elements

Selecting a single element

语法:

cy.get('.selector')

首先,让我们看看 .selector 部分的内容。 Cypress 通过查询 DOM 来选择元素。 如果您曾经玩过 CSS 或使用过 jQuery,或者如果您熟悉 JavaScript 中的 document.querySelector 命令,您可能已经熟悉此类选择器。 让我们看看这是什么意思。 作为一个例子,我们可以查看一个看起来像这样的页面:

页面代码如下:

<h1>Shapes:</h1>
<div class="square"></div>
<div id="circle"></div>
<div shape="triangle"></div>

我们可以使用 h1 标签选择一个元素。 如果我们想选择我们的一个形状,我们可以使用类、id 或属性来选择单个元素。

cy.get('h1') // select by tag.get('.square') // select by class.get('#circle') // select by id.get('[shape="triangle"]'); // select by attribute

要按类选择元素,您需要使用 . 前缀并通过它选择一个元素,你应该在 id 前面加上#。 您可能会在页面上找到的最常见属性是输入的占位符,甚至是测试 ID,其中您的选择器以方括号开始和结束。 如果选择我们选择在我们的页面上多次找到的元素,例如我们的 div 元素,Cypress 将选择所有三个。

Select elements by filtering

这是一个比较有用的操作。

一旦你选择了多个元素(例如通过 .get(‘li’) 命令,它返回 7 个元素),你可以根据另一个选择器在这些元素中进行过滤。 下面的代码将只选择红色、绿色和蓝色,因为这些是原色并且它们有一个类 .primary。

cy.get('li').filter('.primary') // select all elements with the class .primary

要做完全相反的事情,您可以使用 .not() 命令。 使用此命令,您将选择除红绿蓝之外的所有颜色。

cy.get('li').not('.primary') // select all elements without the class .primary

Finding elements

您可以通过首先选择要在其中搜索的元素来指定选择器,然后向下查看 DOM 结构以找到您要查找的特定元素。

cy.get('.list').find('.violet') // finds an element with class .violet inside .list element

如果您已经在使用属性来标记您的元素,这里有一个提示。 您可以创建一个自定义命令,该命令将通过例如选择您的元素 数据-cy 属性:

Cypress.Commands.add('getById', (input) => {cy.get(`[data-cy=${input}]`)})

消费:

cy.getById('indigo')

下图是 SAP 电商云 Spartacus UI Cypress 的一个例子:

在使用 click 方法触发 continue button 点击事件之前,我们先得检查其是否处于可点击状态,即 disabled 属性必须为 null.

更多Jerry的原创文章,尽在:“汪子熙”:

Cypress 基础 - 元素的定位相关推荐

  1. 游戏场景设计思维:至关重要的基础元素

    关于讲师:卢东彪,腾讯互动娱乐魔方工作室群高级游戏美术师. 导语 在本期分享中,我们进入场景思维的中期构图阶段,聚焦对推进画面风格至关重要的场景基础元素刻画,并细化讲解实际技巧,进一步探讨风格化在场景 ...

  2. day15 Ui自动化元素的定位

    day15 元素的定位Ui自动化元素的定位1.火狐浏览器安装try xpath2.元素定位思路:(1)查看页面元素,确认能够唯一定位到元素的属性,比如id,文案3.学习xpath cssSelecto ...

  3. 【转】探索基础元素---基于WebGL的H5 3D游戏引擎BabylonJS

    原文地址:https://blog.csdn.net/AceWay/article/details/51472823 介绍 在本教程, 我们将学习如何使用Babylon.js创建基础元素, 比如盒子, ...

  4. 11. 前端基础--CSS盒子定位

    文章目录 前端基础--CSS盒子定位 1. 再看CSS 布局的三种机制 2. 为什么使用定位? 3. 定位详解 3.1 边偏移 3.2 定位模式 (position) 静态定位(static) -了解 ...

  5. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  6. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)...

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  7. Qt_QML基础元素对象

    基本元素(Basic Elements) 元素可以被分为可视化元素与非可视化元素.一个可视化元素(例如矩形框Rectangle)有着几何形状并且可以在屏幕上显示. 一个非可视化元素(例如计时器Time ...

  8. Selenium的元素八大定位写法详解-图文并茂

    Selenium的元素八大定位详解 老鸟有兴趣可以移步Selenium元素定位神器工具谷歌浏览器插件-SelectorsHub介绍.安装和使用 目录 Selenium的元素八大定位详解 1.id定位 ...

  9. css定位页面元素,页面元素定位-CSS元素基本定位

    基本定位 """属性定位 一 """ # #通过id # driver.find_element_by_css_selector(" ...

最新文章

  1. python sqlserver api连接池_非常老的话题 SQLSERVER连接池
  2. 18_使用react脚手架构建应用
  3. 2.3.3 操作系统之实现临界区进程互斥的硬件实现方法
  4. c语言编程输出所有水仙花数,c语言中,如何输出所有的水仙花数
  5. SpringBoot开发接口
  6. Newlife.Net QA
  7. Java中的DatagramPacket与DatagramSocket的初步
  8. 微软开源的Trill是什么?
  9. HDU 2896病毒侵袭
  10. RPG 学习 一 基本
  11. java 64bit_java9 64位 官方最新版
  12. 通过一个简单例子看懂遗传算法,附MATLAB代码
  13. BigDecimal 类型的金额 compareTo比较大小
  14. Hive 安全模式下 Prepare Plan 的时间分析
  15. Meltdown Attack
  16. bat 命令如何启动远程PC上的一个程序?
  17. 苹果海洋视频源直播源文件
  18. 树莓派博通BCM2835芯片手册导读
  19. 大功率双伺服电机驱动板,包含原理图,PCB和原代码,基于STM32F4方案,支持霍尔,编码器,无感
  20. 【VSCode常用插件】Path Autocomplete(@路径提示的插件)

热门文章

  1. 优酷html5视频没有弹幕,优酷弹幕怎么设置 优酷PC端怎么屏蔽底下弹幕?
  2. 209. 单点登录(SSO)
  3. 老男孩教育50期左婷婷-day03-xhell连接服务器-远程连接排错-基础命令
  4. 5种最流行的AI编程语言
  5. 从《兄弟连》到团队管理
  6. 黑马程序员-面向对象-06天-5(单例设计模式)
  7. SQL server经典电子书、工具和视频教程汇总
  8. 8086PC读取和执行指令相关部件
  9. 企业 全功能邮件服务器
  10. Linq--使用Linq在不同类型之间转换