**

前言

**
Cypress含有多种定位方式我们无需担心因为定位导致测试失败,Cypress有独一无二的定位策略能使你摆脱元素定位的噩梦。

Cypress专有选择器

  • data-cy
  • data-test
  • data-testid

举例:

<button id='main' class = 'btn' data-cy = 'submit'>submit<button>
<button id='main' class = 'btn' data-test= 'submit'>submit<button>
<button id='main' class = 'btn' data-testid= 'submit'>submit<button>

获取元素方法:
cy.get(’[data-cy=submit]’).click()
cy.get(’[data-test=submit]’).click()
cy.get(’[data-testid=submit]’).click()

举例:

<tbody><tr><th>用户名</th><td><input class="form-control" type="text" name="account" id="account" autofocus=""></td></tr><tr><th>密码</th><td><input class="form-control" type="password" name="password"></td></tr><tr><th></th><td id="keeplogin"><div class="checkbox-primary"><input type="checkbox" name="keepLogin[]" value="on" id="keepLoginon"> <label for="keepLoginon">保持登录</label></div></td></tr><tr><td></td><td class="form-actions"><button type="submit" id="submit" class="btn btn-primary" data-loading="稍候...">登录</button><input type="hidden" name="referer" id="referer" value="/zentao/">
<input type="hidden" name="verifyRand" id="verifyRand" value="1281275466">
<a href="/zentao/user-reset.html">忘记密码</a></td></tr></tbody>
  • #d选择器

#id选择器通过html元素id属性来获取DMO
获取用户名input元素方法:

cy.get('#account').click()
  • class类选择器

类选择器通过html元素class属性来获取DMO
获取用户名input元素方法:

cy.get('.form-control').click()
  • attributes属性选择器

类选择器通过html元素class属性来获取DMO
获取用户名input元素方法:

cy.get('[input[id = "account"]]').click()
  • :nth-child(n)选择器

:nth-child(n)选择器匹配属于其父元素的第n个子元素,不论元素的类型。
获取用户名DOM元素方法:

cy.get(tbody > tr:nth-child(1) > th')
  • Cypress.$定位器

Cypress可以使用jQuery选择器定位

Cypress.$('#account') 等价于 cy.get('#account')

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。

更多文章关注小编公众号:自动化测试 To share

Cypress 元素定位相关推荐

  1. cypress 框架介绍及元素定位

    一.cypress测试框架目录介绍 fixtures -- 测试家具,需要依赖的静态数据 plugins -- 插件,扩展增强cypress功能 support -- 支持文件,通用配置信息 inte ...

  2. 自动化测试元素定位“最佳实践”

    最近在翻阅cypress文档的时候发现一些关于自动化测试中元素定位的思考,觉得很有意思,这里跟大家分享一下. 核心概念 其实元素定义的核心概念很简单,一些元素总有自己独一无二的一些特点,比如我们每个人 ...

  3. xpath定位元素方法_测试数十次,总结了APP元素定位的万能方法

    定位不到元素时候,一定很头大,最近一直在跑自动化流程,经常因为各种原因定位不到元素,经过数十次的尝试,我发现尤其是H5页面,出现定位不到元素的可能性更大,也总结尝试发现了在H5里面,通过切换上下文后用 ...

  4. App自动化元素定位不到?别慌,3大工具帮你解决

    在日常的android app自动化测试工作当中,很多朋友在元素定位时,会遇到以下类似的报错: 然后会来问,这是啥情况? 一般情况下,都会送上以下亲切的关怀: 1)adb能识别到设备吗? 2)设备有被 ...

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

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

  6. html 相对于父标签位置,css子元素如何相对父元素定位?

    在css中,可以使用position属性,通过给父元素设置相对定位"position:relative;"样式,给子元素设置绝对定位"position:absolute; ...

  7. android获取元素路径,Appium元素定位(name、classname、相对路径、绝对路径\、list)...

    元素通过name元素定位 Appium的name元素定位对应的是Android上的text字段,语法: driver.find_element_by_name('安检测速').click() 缺点:部 ...

  8. 在selenium中使用css选择器进行元素定位(一)

    大家在使用selenium元素定位的时候,通常更多使用的是XPATH,css定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH快 优势2:语法要比X ...

  9. 4、通过uiautomatorviewer实现appium元素定位

    熟悉selenium自动化的小伙伴应该知道WebDriver 提供了八种元素定位方法: id name class name tag name link text partial link text ...

最新文章

  1. Druid 0.2.18 发布,阿里巴巴数据库连接池
  2. JavaScript中的JSON
  3. python 统计2^2^2^2^2的各数字出现次数
  4. 改善程序代码质量的一些技巧
  5. c语言复制粘贴源码,c语言函数memccpy()如何复制内存中的内容实例源码介绍
  6. 基于DirectShow的局域网内音视频流的多机共享
  7. mmdnn cannot import caffe
  8. 在notepad++中运行python代码
  9. eclipse lombok插件安装_你干啥的?Lombok
  10. 信息学奥赛一本通 1820:【00NOIP提高组】进制转换 | 洛谷 P1017 [NOIP2000 提高组] 进制转换
  11. 算法眼中的世界是什么样子?他们用一些彩色方块画了出来
  12. html 成新段落,HTML 段落
  13. [渝粤教育] 中国地质大学 经济学原理 复习题
  14. linux支持ext2格式吗,linux正统标准文件系统ext2详解
  15. 夏宇闻《Verilog数字系统设计教程》 - 第1章 Verilog的基本知识
  16. 两款WiFi无线网络扫描工具软件 WirelessMon Xirrus WiFi Inspector
  17. 无损音频flac转mp3
  18. 【大学物理·早期量子论和量子力学基础】量子力学中的氢原子问题
  19. u盘制作启动盘后空间容量变小解决方法
  20. 如何在本地进行一个IP访问多个域名

热门文章

  1. 一个面试我的后端妹子问的405错误
  2. 以太网已连接却无法联网的解决记录
  3. 信息与电脑杂志信息与电脑杂志社信息与电脑编辑部2022年第8期目录
  4. C++封装dll供C#调用获取U盘/磁盘序列号信息
  5. 微型计算机nuc 6i5syk,Intel 英特尔 NUC Kit NUC6i5SYH 紧凑型准系统 开箱(附让人崩溃的系统问题)...
  6. 2022-2027年中国移动音乐行业市场调研及未来发展趋势预测报告
  7. C#开发OPC客户端
  8. 从键盘上输入一个字符,如果它是小写字母,则把它转换成大写字母输出;否则,直接输出。
  9. nginx、php-fpm、mysql用户权限解析
  10. FPGA的PS还有什么PL是什么意思