Cypress初探(一)

最近想学习下web ui测试框架,发现了比较好用的cypress,直接用js操作更方便更快。

一、开发环境

Cypress + nodejs (node之前已安装,直接官网下载安装即可)+ intellij idea

1. 安装cypress

cd projectpath                   # 工程目录
npm install cypress --save-dev   # 安装cypress

Cypress安装完成后,可看到提示:You can now open Cypress by running: node_modules/.bin/cypress open,通过如下命令打开Cypress。正常可看到如下窗口,其中有许多cypress自带的例子可以参考。

node_modules/.bin/cypress open

2. 配置

在工程路径下创建package.json文件,配置以chrome浏览器运行用例。

{"scripts": {"cypress:open": "cypress open","cypress:run": "cypress run --browser chrome"},"devDependencies": {}
}

cypress.json文件中添加如下内容,"chromeWebSecurity": false 解决chrome跨域问题;

reporter :cypress run会自动生成xml文件,使用 allure 生成对应报告。

{"chromeWebSecurity": false,"reporter": "junit","reporterOptions": {"mochaFile": "results/my-test-output[hash].xml","toConsole": true}
}

3. nodejs开发环境

已安装intellij idea,安装插件支持Nodejs开发。在Perferences->Plugins,选择下面的Browse repositories。

Browse repositories...对话框中搜索NodeJS,Install安装插件,安装完成后需要重启生效。

二、第一个例子

1. intellij idea 中打开之前的工程目录,可看到cypress的开发目录:

1) fixtures:自定义json文件

2) integration:编写测试用例

3) plugins:插件

4) support:目前未用到,需要自定义指令的时候可以深入研究

2. 第一个例子

在integration下新建测试目录文件,编写测试用例,下面的例子主要实现:登录,查询

/// <reference types="Cypress" />describe('testcase', function () {before(function () {// runs once before all tests// 登录cy.visit("XXXX");cy.get("#form-img").click();cy.get("#login-username").type("XXXX");cy.get("#login-password").type("XXXX");cy.get(".btn").click();cy.wait(1000);});after(function () {cy.get("img").click();cy.contains("登出").click();   //登出});beforeEach(function () {// runs before each test});it('test', function () {cy.wait(1000);cy.get('.btn-info').click();// 具体case });
});

常用commands:

.get(selector)      # get
.clear()            # 清除input|textarea内容
.click()            # 点击
.contains()         # 包含文本
.dblclick()         # 双击
.scrollIntoView()   # 滚动元素到视图中
.scrollTo(position) # 滚动到特定位置
.visit(url)         # 访问url
.wait(time)         # 等待毫秒
.type()             # 输入文本

3. 运行

Cypress应用程序中,Cypress同步刷新目录,检测到新的改动马上运行。

可通过cypress run --browser chrome执行用例,或者cypress应用程序中,选中要执行的用例运行。

Cypress入门简单,且运行快,同时提供自动生成选取dom的语句,很方便。如下:

参考: https://testerhome.com/articles/19035

Cypress初探(一)相关推荐

  1. 2021年大数据Flink(九):Flink原理初探

    Flink原理初探 Flink角色分工 在实际生产中,Flink 都是以集群在运行,在运行的过程中包含了两类进程. JobManager: 它扮演的是集群管理者的角色,负责调度任务.协调 checkp ...

  2. 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书

    缘起 哈喽大家周四好!又是开心的一天,时间过的真快,我们的 <从壹开始 .net core 2.1 + vue 2.5 >前后端分离系列共 34 篇已经完结了,当然以后肯定还会有更新和修改 ...

  3. 经典算法研究系列:二、Dijkstra 算法初探

    经典算法研究系列:二.Dijkstra 算法初探  July   二零一一年一月 ====================== 本文主要参考:算法导论 第二版.维基百科. 写的不好之处,还望见谅. 本 ...

  4. las格式测井曲线_邹榕,等:顺北和托甫台区块奥陶系断裂结构单元测井响应特征初探...

    引用格式:邹榕,徐中祥,张晓明,等.顺北和托甫台区块奥陶系断裂结构单测井响应特征初探[J].油气藏评价与开发,2020,10(2):18-23.ZOUR, XU Z X, ZHANG X M, et ...

  5. 2018-4-15摘录笔记,《网络表征学习前沿与实践》 崔鹏以及《网络表征学习中的基本问题初探》 王啸 崔鹏 朱文武

    1.来源:<网络表征学习前沿与实践>  崔鹏 (1)随着数据的增加以及计算机计算速度的增加,想当然的以为速度快了,数据再多也是可以自己算的,但是若是数据之间存在着复杂的关系,那么处理一个样 ...

  6. Cypress USB开发文档列表(积累中)

    CyUSB.chm(pdf) @ \Cypress\Cypress Suite USB 3.4.7\Driver Cypress CyUSB.sys Programmer's Reference 内容 ...

  7. python argparse_Python 命令行之旅:初探 argparse

    本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行的?是否考虑过由自己实现一个命令行工具,帮你执行和处理任 ...

  8. HTML5+MUI+HBuilder 之初探情人

    07,08年那会儿正当Java火爆,C/C++仍是广泛运用的一门语言的时候,所以我的大学都献给了C/C++和Java.当诺基亚的倒闭成为按键机时代衰落的标志时,移动APP的开发也如破堤之洪.爆炸式的崛 ...

  9. 使用Mahout搭建推荐系统之入门篇3-Mahout源码初探

    2019独角兽企业重金招聘Python工程师标准>>> 用意: 希望了解Mahout中数据的存储方式, 它如何避免java object带来的冗余开销.学完知识,要进行些实战 去分析 ...

  10. SAP RETAIL 补货类型RF之初探 II

    SAP RETAIL 补货类型RF之初探 II 1, 补货参数 – TargetCoverage字段不能为空. 如果不维护这个参数值,系统会提示:Target stock calculated dyn ...

最新文章

  1. 一个小改动,CNN输入固定尺寸图像改为任意尺寸图像
  2. CloudFlare 免费CDN加速 使用方法
  3. boost::hana::typeid_用法的测试程序
  4. 为什么要importmodulepython_python – 为什么“import”这样实现?
  5. windows7系统做文件服务器拒绝,Win7提示qq服务器拒绝了您发送离线文件
  6. 大数据量表的优化查询
  7. 蓝桥杯 BEGIN-1 入门训练 A+B问题
  8. oracle12c视图刷新,Oracle可更新视图
  9. 推荐一个视频播放器potplayer
  10. 排队器拦截_网络拦截器-一个好用的网络拦截器
  11. 华擎主板安装linux系统,J3455 篇一:华擎J3455主板安装Ubuntu server
  12. 后缀为whl的文件是什么?如何安装whl文件?学习一下(22)
  13. FPGA实现的SPI协议(二)----基于SPI接口的FLASH芯片M25P16的使用
  14. linux cp命令 时间,Linux cp命令总结
  15. 移动网络的切换、重选和重定向
  16. 林大陈宇老师的原创高斯
  17. html分享微信qq等,h5移动端调用微信好友,朋友圈,QQ好友,QQ空间等APP分享功能...
  18. android框架服务 恶意软件,Android平台各类恶意软件及病毒概览
  19. 安装应用需要打开未知来源权限_OPPO手机未知来源权限在哪 OPPO手机未知来源权限设置方法...
  20. 风电场运营实践 | 麒麟信安助力国华投资山东公司集控中心实现安全智慧化运营

热门文章

  1. 【HDLBits刷题笔记】Exams/ece241 2013 q7
  2. SVG_16_defs标签_use标签_style标签_红绿灯效果
  3. Semi-prime H-numbers(POJ 3292)
  4. Spring Boot干货系列(一)入门篇
  5. Unity一键更换TextMeshPro的字体
  6. 光敏二极管的工作原理
  7. MyEclipse详解
  8. ajax到底怎么读呢
  9. 11月14日Fluent建模笔记
  10. String类题目methods总结