Cypress系列22- 可操作类型的命令 之 select()

如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

.select()

在 <select> 中选择一个 option> 

 

语法格式

// 选中指定值的选项
.select(value)

 选中指定值的多个选项
.select(values)

 选中指定值的选项,且带参数
.select(value,options)

 选中指定值的多个选项,且带参数
.select(values,options)

 

参数讲解

 

正确用法

 选择 值=user的 option
cy.get('select').select('user')

 

错误用法

 不能直接通过 cy 调用
cy.select('John Adams')

 location 并不是 select 元素
cy.location().select()

 

前端 html 代码

后面的多个 .select() 栗子都以这个 html 页面为基础哦

 

.select(value) 的栗子

测试文件代码

重点

 .select() 可以传 value 属性(“1”),或者文本内容(“oranges”)

 

.select(values) 的栗子

测试文件代码

  • 后面再讲 .invoke() 
  • 需要注意,如果要选多个 option 的话, <select> 必须这样写 <select multiple> 

 

.select(value,options) 的栗子

测试文件代码

重点

因为第二个 <select> 默认是不可见状态,所以不加 {force:true} 会报错,如下图

  • 它的错误提示也很明显指明了解决方案
  • use {force : true} to disable error checking【通过 { force : true } 来禁止错误检查】

 

再来看看元素不可见时,命令会提示啥

  • this element is not visible
  • 简直不要太人性化好吧

 

.select(values,options) 的栗子

测试文件代码

 

特殊场景

html 代码

select disabled>
    option value="sz">深圳</="gz">广州>
>

重点是 select 加了 disabled

 

测试代码

cy.get("select").eq(2).select("sz",{force: true})

 

测试结果

即使加了 {force : true} ,也不会禁止检查 <select> 是否可以选择 option,如果加了disabled,代表不可选择,所以仍然报错

 

结尾

本文是博主基于对蔡超老师的《Cypress 从入门到精通》阅读理解完后输出的博文,并附上了自己的理解

对书籍感兴趣的,大家可以参考本篇博客:https://www.cnblogs.com/poloyy/p/13052972.html,考虑自身需求进行购买

 

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=12vd92hxgwgj1

原文地址:https://www.cnblogs.com/poloyy

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


本文技术难度★★★,如果前编内容顺利执行,请继续。如果Selenium尚无法灵活运用的读者,本文可能难度较大。“理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机。不记得没关系,只需要知道:有这么一位IT老司机,穿上西装,带大家打拼职场!
如果想从头学起Cypress,可以看下面的系列文章哦https://www.cnblogs.com/poloyy/category/1768839.html Cypress简介基于JavaScript的前端测试工具,可以对浏览器中运行的任何内容进行快速、简单、可靠的测试Cypress是自集成的,提供了一套完整的端到端测试,无须借助其他外部
web技术已经进化了,web的测试技术最终还是跟上了脚步,新一代的web自动化技术出现了?Cypress可以对在浏览器中运行的任何东西进行快速、简单和可靠的测试。“Thewebhasevolved.Finally,testinghastoo.Fast,easyandreliabletestingforanythingthatrunsinabrowser.”
不很久不很久以前据说某家公司有两位前端,天天撸bug,为啥嘞?只怪测试MM倾人国,轻语哥哥有bug。✧(๑•̀ㅂ•́)و✧可是最近两位有点犯愁Σ(っ°Д°;)っ。测试MM有几次提了紧急bug,都在旁边鼓励他们改bug了,可是线上bug重现排查比较麻烦,而且改了后还发现没改好,惹得测试MM潸然泪
我刚开始学习JavaScript并且一直在使用赛普拉斯来自动化一些回归测试.我当前编写的测试旨在验证链接的文本和页眉和页脚中的href.我遇到的问题是这些测试需要在各种环境中运行,我似乎无法访问cypress.json中设置的baseUrl属性,以便在我的断言中设置域.在后面的脚本中,它是行cy.ge
cypress在pycharm中编写首先打开pycharm,打开cypress项目 打开此文件  打开后需要在pycharm中设置js语言  设置成功后在intergration文件夹下,创建用例文件夹demo1,创建test.js文件编写代码:  此段代码为进入百度页面,输入Jaredhan,点击搜索后等待1000ms 1、des
前言面试时间经常被问到:你的测试数据放哪?有没有做到测试数据和代码的分类?Cypress使用cypress/fixture目录存放json文件数据,cy.fixture()加载测试数据。官方文档参考https://docs.cypress.io/api/commands/fixture.html#Syntaxfixture使用在cypress/fixture目录写个
示例代码如下:比如现在要点击"loginFrame"中的"J_Quick2Static"按钮cy.get('#loginFrame',{timeout:2000}).then($iframe=>{cy.wrap($iframe.contents().find("#J_Quick2Static"));})
前言Cypress提供了hooks函数,方便我们在组织测试用例的时候,设置用例的前置操作和后置清理。类似于python的unittest里面的setUp和setUpclass功能HooksCypress提供了hooks函数。这些有助于设置要在一组测试之前或每个测试之前运行的条件。它们也有助于在一组测试
前言cypress上默认访问一个跨域的网页会出现异常:CypressdetectedacrossoriginerrorhappenedonpageloadAcrossoriginerrorhappenswhenyourapplicationnavigatestoanewURLwhichdoesnotmatchtheoriginpolicyabove.之前使用selenium的时候,不用关
前言先定位父元素,通过父元素定位子元素.children()通过父元素,定位子元素<olclass="traversal-breadcrumbbreadcrumb"><li><ahref="#">Home</a></li><li><ahref="#">Library</a></l
LoadDatafromTestFixturesinCypressWhencreatingintegrationtestswithCypress,we’lloftenwanttostubnetworkrequeststhatrespondwithlargedatasets.Allofthismockdatacanleadtotestcodethatishardtoread.Inthislesson,we’llseeh
我在应用程序中有一个端点.我们在每个请求中使用params中的不同操作来达到相同的api.网址/application/api样本请求有效负载1:{"action":"CARD_TRANSACTION_HISTORY","data":{"date_from":"2018-12-01","date_to":"2018-12-31","
如果想从头学起Cypress,可以看下面的系列文章哦https://www.cnblogs.com/poloyy/category/1768839.html 前言啥是可操作类型?就是可以和DOM元素交互的命令,比如:点击,双击.....等等等这些命令模拟用户和应用程序交互,Cypress会触发浏览器事件,进而触发应用程序绑定的时间这一
如果想从头学起Cypress,可以看下面的系列文章哦https://www.cnblogs.com/poloyy/category/1768839.html 前言重试(Retry-ability)是Cypress的核心概念之一,有助于我们写出更加健壮的测试 命令和断言Cypress测试中经常被调用的两种类型,仍以前面说到的 testLogin.js 为栗
前言做web自动化的时候,我们希望用例失败了能截图,这是之前用selenium写ui自动化用例的时候经常遇到的问题。cypress可以说是业界良心了,不仅帮我们失败的时候自动截图保存下来,还把每个用例都录制成了mp4的小视频,方便追踪问题的时候回复视频screenshots失败截图当我们用
一:Cypress简介随便着Web应用项目的不断发展,测试也要不断发展,Cypress是为现代网络打造的,基于JavaScript语言的一种前端自动化测试工具,测试也是如此,对浏览器中运行的所有内容进行快速,轻松和可靠的测试。Cypress是自集成的,它提供了一套完整的端到端的测试体验,正如官网上所说:安装C
1、fixture路径下创建.json文件夹,内容如下{"loginName":"huahua","password":"huahua"}  2、加载loginEmgs文件(后缀可省略),使用then读取数据before(()=>{cy.fixtures('loginEmgs').then((data)=>{this.data=data;})}) 3、使用数据cy.
命令行安装Cypress:npminstallcypress--save-devnpminit编辑package.json,添加如下的json语句:"scripts":{"open":"cypressopen"},然后执行命令npmrunopen,即可打开Cypresstestrunner:默认看到的examples文件夹里有很多现成的例子:我们在int
如果想从头学起Cypress,可以看下面的系列文章哦https://www.cnblogs.com/poloyy/category/1768839.html 重试的介绍学习前的三问什么是重试测试为什么重试很重要如何使用重试 为什么要重试使用Cypress进行自动化测试时,仍然会存在一些难以验证的行为,并使得测试变得