WEB 自动化神器 TestCafe(一)—安装和入门篇

今天小编给大家带来WEB 自动化神器 TestCafe(一) —安装和入门篇

一、TestCafe 介绍:

TestCafe 是一款基于 Node.js 的端到端 Web 自动化测试框架,支持 TypeScript 或 JavaScript 来编写测试用例,运行用例,并生成自动化测试报告。 TestCafe 兼容 Windows,MacOS 和 Linux 系统,同时也支持桌面,移动端所有的浏览器,并且无需安装浏览器对应的 WebDriver。

  • TestCafe 的特性 支持并发启动多个浏览器同时测试,无需修改任何代码
  • 支持 TypeScript 和最新的 JavaScript 语言来编写用例
  • 同一套代码,无需进行任何配置环境支持在所有的浏览器运行
  • 会自动检测页面中错误的 js 代码
  • 支持在 TeamCity,Jenkins,Travis 中持续集成
  • TestCafe 中提供了高级的选择器库,断言方式等,可以很方便的基于 PageObject 模式去进行测试

二、环境安装

TestCafe 环境安装非常简单,安装好 node.js 之后,通过一条 npm 命令就可以搞定。

  • node.js 的安装 关于 node.js 安装非常简单,先去 node.js 官网(https://nodejs.org/en/download/)根据操作系统下载对应的安装包,进行安装即可。
  • 安装好了之后,打开命令终端:输入下述命令 Node --version 能看到对应的版本就说明安装好了!

  • TestCafe 安装
  • 安装好 node.js 之后直接使用 mpn 就可以安装 TestCafe,命令如下

npm install testcafe

  • 安装好之后输入 testcafe --verison 就说明安装成功了

三、入门使用

1、案例代码讲解

接下来通过一个简单的案例来给大家介绍一下 TestCafe 如何使用,要使用 testcafe 进行 Web 自动化测试,首先需要创建一个.js 或。ts 的测试用例文件,每个测试用例文件中 fixture 和 test 这两个部分组成,下面是一个打开百度首页并进行搜索的小案例。

  • 第一步、导入 testcafe 模块中的 Selector 这个选择器, 可以使用 Selector 来定位元素

import { Selector } from 'testcafe';

  • 第二步:创建一个 fixture 对象,并打开百度首页(测试文件中必须要有 fixture)

fixture(`百度案例`).page(`https://www.baidu.com`);

  • 第三步:定义一个测试用例,用例中定位搜索输出框输入百度,点击搜索(每一个 test 就是一条测试用例)

test('百度搜索功能', async t => {

await t.typeText('#kw', "hao123")

.click('#su')

});

2、案例运行

  • 第一步:创建 test_baidu.js 文件,写入如下代码
  import { Selector } from 'testcafe';fixture(`百度案例`).page(`https://www.baidu.com`);test('百度搜索功能', async t => {await t.typeText('#kw', "月下").click('#su')
});
  • 第二步:cmd 中切换到上述文件所在路径,通过 testcafe 执行测试代码 启动命名规范:testcafe 运行浏览器名 运行文件 通过 Chrome 浏览器运行,cmd 命令如下: testcafe chrome test_baidu.js 通过火狐浏览器运行,cmd 命令如下 testcafe firefox test_baidu.js 关于使用其他浏览器执行,就不逐一介绍了 执行之后就会自动打开对应的浏览器,访问百度首页,并搜索月下
  • 运行完毕后,cmd 中即可查看测试结果,如下图

testcafe 的安装和入门使用就解释到这里,持续关注小编,后续还会更新详细的使用教程文章

看到这里的朋友不妨点个赞,码字不易,谢谢大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Navicat DML 操作

在表格种插入 列信息 -- 修改数据 update 表名 set 列名 值1, 列名值2,[where 条件]; -- 注意:如果update语句没有加where 表里对应行的全部信息都会被改; -- 删除数据 delecte from 表名 [where 条件]; 未删除前: 执行删除后为: DQL - 条…

【已解决】移动号码在移动网上营业厅更换为8元保号套餐

有很多人的副卡基本是为了接收银行卡短信,平时基本不打电话和用流量,每个月固定消费在18-30左右,很浪费。今天发现在网上营业厅就可以修改8元保号套餐,分享给大家。 保号套餐 有以下两种: 解决办法: 1、…

1688API接口接入|阿里1688-B类电商基础链路专业化体验升级

新挑战,新契机! 当下整个互联网的竞争环境的变化为我们带来新的机遇和挑战。1688作为连接中小生产商、贸易商和零售商的源头货源首选平台,持续不断地为B类买家提供更专业的服务和更优质的源头厂货供给,打造核心竞争力。 面对新的…

客户端性能优化实践

背景 双十一大促时,客户客服那边反馈商品信息加载卡顿,在不断有订单咨询时,甚至出现了商品信息一直处于加载状态的情况,显然,在这种高峰期接待客户时,是没法进行正常的接待工作的。 起初,页面一…

计算机视觉与机器学习D1

计算机视觉简介 技术背景 了解人工智能方向、热点 目前人工智能的技术方向有: 1、计算机视觉——计算机视觉(CV)是指机器感知环境的能力;这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。物体检测和人脸识别是其比较成功…

客服中心的客户关系管理核心功能

根据国外的调查,拥有客服中心的运营机构,可以保持85%左右的客户忠诚度,而接受过专业培训的客户中心可以将客户忠诚度提高到99%。客服中心作为客户关系管理的前沿,通过提供服务、实时沟通、搜集与分析客户信息、预测客户需求来提升…

数据结构与算法-生成树与最小生成树

生成树与最小生成树 🎈1.生成树与最小生成树🔭1.1生成树与最小生成树的概念🔭1.2最小生成树的生成准则🔭1.3两种最小生成树算法🏆1.3.1Kruskal算法🏆1.3.2Prim算法 🎈2.有向无环图及其应用&…

virtuoso 后仿 ADE L error

ADE后仿时出现error ERROR (SFE-23): "input.scs" 299: The instance _57_D32_noxref is referencing an undefined model or subcircuit, parasitic_nwd. Either include the file containing the definition of parasitic_nwd, or define parasitic_nwd before run…

iTerm2+oh-my-zsh搭个Mac电脑上好用好看终端

根据苹果网站上介绍,bash是 macOS Mojave 及更早版本中的默认Shell,从 macOS Catalina 开始,zsh(Z shell) 是所有新建用户帐户的默认Shell。 1. 安装Oh my zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzs…

选择java商城开发商需要注意哪些方面?

Java商城开发是一项庞大而复杂的任务,选择一家合适的开发商至关重要。那么,我们在选择Java商城开发商时,需要注意哪些方面呢? 1、专业经验 选择具有丰富经验的开发商是至关重要的。开发商应该拥有多年的Java开发经验,…

【MATLAB源码-第82期】基于matlab的OFDM系统载波频移偏差(CFO)估计,对比三种不同的方法。

操作环境: MATLAB 2013b 1、算法描述 正交频分复用(OFDM)系统中的载波频率偏移(CFO)估计是一项关键技术,用于确保数据传输的准确性和效率。CFO通常由于振荡器频率不匹配和多普勒频移引起。不同的CFO估计…

DP1332E/DP1363F国产多协议NFC读写器芯片支持ISO15693/ISO18092

目录 ISO/IEC 15693与ISO/IEC 18092协议标准差异DP1363F与DP1332E对比共同点主要差异点 ISO/IEC 15693与ISO/IEC 18092协议标准差异 ISO/IEC 15693是用于近距离无线通信中的射频识别(RFID)技术的标准协议,它定义了与读写器之间的通信协议。这…

LeetCode热题100——图论

图论 1. 岛屿的数量2. 腐烂的橘子 1. 岛屿的数量 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆…

微信、支付宝、携程等多款app任意文件读取漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、漏洞描述 微信、支付宝、小米浏览器、携程应用等国内主流软件均存…

C编译环境和预处理(非常详细,建议收藏)

C编译环境和预处理(非常详细,建议收藏) 一、程序的翻译环境和执行环境二、 详解编译链接2.1 翻译环境2.2 编译本身的几个阶段符号汇总、符号表、合并段表、符号表的合并和重定位分别是什么? 2.2 运行环境 三、预处理详解3.1 预定义…

斐波那契数列,剑指offer,力扣

目录 题目地址: 我们直接看题解吧: 解题方法: 难度分析: 审题目事例提示: 解题思路(动态规划): 代码实现: 补充说明: 代码(优化)&…

栈和队列

目录 1.栈 1.1栈的概念及结构 1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈…

概念解析 | 网络安全数字孪生(Digital Twin of Cyber Security, DTCS)技术

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:网络安全数字孪生。 概念解析 | 网络安全的“数字镜像” —— 网络安全数字孪生 1. 背景介绍 随着数字化转型进程的深入推进,网络空间安全问题日益凸显。当前的网络安全防护面…

使用Dockerfile构建hexo博客镜像,并部署

基于centos7.9父镜像构建hexo:1.0镜像&#xff1a; cat << eof > Dockerfile # 根镜像 FROM centos:7.9.2009 MAINTAINER qv123<qv1095322098163.com> # 设置工作目录 WORKDIR /usr/src/app # 暴露端口号 EXPOSE 4000 # 作者注释 MAINTAINER qv123<qv1095322…