web 自动化测试框架 TestCafe 安装和入门使用

news2024/9/22 15:43:48
一、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 文件,写入如下代码
  1. import { Selector } from 'testcafe';

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

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

  4. await t.typeText('#kw', "柠檬班")

  5. .click('#su')

  6. });

  • 第二步:cmd 中切换到上述文件所在路径,通过 testcafe 执行测试代码
    • 启动命名规范:testcafe 运行浏览器名 运行文件
      • 通过 Chrome 浏览器运行,cmd 命令如下:

testcafe chrome test_baidu.js

      • 通过火狐浏览器运行,cmd 命令如下

testcafe firefox test_baidu.js
关于使用其他浏览器执行,就不逐一介绍了

    • 执行之后就会自动打开对应的浏览器,访问百度首页,并搜索柠檬班
  • 运行完毕后,cmd 中即可查看测试结果,如下图

 

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

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

相关文章

基于C++实现(控制台+界面)通讯录管理系统

个人通讯录管理系统 问题描述: 主要内容: 个人通讯录是记录了同学(包含一起上学的学校名称)、同事(包含共事的单位名称)、朋友(包含认识的地点)、亲戚(包含称呼&#…

国家级|加速科技成功入选国家级专精特新“小巨人”企业

9月6日,浙江省通过的第六批专精特新“小巨人”企业名单在省经济和信息化厅官网完成公示,经过严格评审,杭州加速科技有限公司正式获国家级专精特新“小巨人”企业认定。 专精特新”小巨人”企业具备专业化、精细化、特色化、新颖化特征&#x…

“我”变小了但更强了!英伟达发布最新大语言模型压缩技术,无损性能且提升数倍!

1. 摘要 英伟达研究团队提出了一份全面报告,详细介绍了如何使用剪枝和蒸馏技术将Llama 3.1 8B和Mistral NeMo 12B模型分别压缩至4B和8B参数。他们探索了两种不同的剪枝策略:深度剪枝和联合隐藏/注意力/MLP(宽度)剪枝。 研究人员…

Adoptium Temurin JDK 的下载

在当今的软件开发领域,Java 无疑是最受欢迎和广泛使用的编程语言之一。Java 开发工具包(JDK)是任何 Java 开发者不可或缺的工具,它提供了编译、调试和运行 Java 应用程序所需的所有工具和库。Eclipse Temurin 是一个流行的开源 JD…

网络药理学:分子动力学模拟入门、gromacs能量最小化

推荐视频 B站: 讲的都是有效的概论,其中关于分子动力学模拟归纳的三步挺有用的。 B站:也没有讲清楚关于分子对接后得到的文件该如何处理。 B站: 需要用的是autodock vina,而且走过一遍up主之前分子对接的视频才比较…

mysql笔记3(数据库、表和数据的基础操作)

文章目录 一、数据库的基础操作1. 显示所有的仓库(数据库)2. 创建数据库注意(命名规范): 3. 删除数据库4. 查看创建数据库的SQL5. 创建数据库时跟随字符编码6. 修改数据库的字符编码 二、表的基础操作1. 引入表的思维2. 引用数据库3. 查看该数据库下面的表4. 创建表…

终端安全如何防护?一文为你揭晓答案!

终端安全防护是确保组织内部网络及其连接设备免受威胁的关键措施。 以下是终端安全防护的一些核心方法: 1. 资产管理与识别 摸清家底:识别所有连接到网络的终端设备及其状态,包括硬件和软件配置。 资产分类:确定哪些资产最为关…

华三(H3C)HDM服务器硬件监控指标解读

在当今日益复杂的IT环境中,服务器的稳定运行对于保障业务的连续性至关重要。华三(H3C)作为知名的网络设备供应商,其HDM(Hardware Diagnostic Module)技术为服务器硬件的监控提供了强有力的支持。监控易作为…

如何使用SSHFS通过SSH挂载远程文件系统?

SHFS(SSH 文件系统)是一款功能强大的工具,它允许用户通过 SSH 挂载远程文件系统,从而提供一种安全便捷的方式来访问远程文件,就像访问本地文件一样。本文将引导您完成使用 SSHFS 挂载远程文件系统的过程,为…

【自动化与控制系统】SCI一区TOP神刊!最快19天accept、稳定检索!

期刊解析 🚩本 期 期 刊 看 点 🚩 国人发文占比第一,TOP刊 审稿友好,审稿速度快 自引率9.8% 今天小编带来计算机领域SCI快刊的解读! 如有相关领域作者有意投稿,可作为重点关注! 01 期刊信息…

pytlsd在Win10下编译与使用

下载pytlsd项目,GitHub - iago-suarez/pytlsd: Python transparent bindings for LSD (Line Segment Detector) CMake配置 Windows 10,Visual Studio 2019下编译 Release版本生成文件包括: 测试代码: # -*- coding: utf-8 -*- import cv2 import matplotlib.pyplot as p…

CATH数据库数据下载

CATH数据库提供了多种类型的数据供用户下载,涵盖了蛋白质的结构域分类、同源性分析、功能注释等方面。以下是CATH数据库提供的一些主要数据类型及其解释: http://www.cathdb.info/download 1. 分类数据(Classification Data) 文件:如cath-domain-list.txt内容:包含CATH数…

jvm的各种性能检测工具

1: jvm 的性能诊断工具 1.1.:Jstat 这个的全称是JVM Statistics Monitoring Tool,说白了就是统计jvm的各种指标的,我们这边主要关注内存使用指标,一般我们后面要跟上pid的进程 jstat -gc pid jstat -gcutil pid最终的这些结果命…

教师节特辑:AI绘制的卡通人物,致敬最可爱的人‍

【编号:9】教师节到了,今天我要分享一组由AI绘制的教师节主题卡通人物插画,每一幅都充满了对老师的敬意和爱戴。让我们一起用这些可爱的卡通形象,向辛勤的园丁们致敬! 🎓【教师形象】 这…

ES6标准-【一】【学习ES6看这一篇就够了!!】

目录 顶层对象的属性 ES5中的顶层对象 ES6中的顶层对象 数组的解构赋值 默认值 对象的解构赋值 默认值 注意点: 字符串的解构赋值 数值和布尔值的解构赋值 函数参数的解构赋值 ES6中的圆括号问题 不能使用圆括号的情况 变量声明语句 函数参数 赋值语…

【JS】深拷贝与浅拷贝

深拷贝与浅拷贝 浅拷贝实现浅拷贝的方法扩展运算符 深拷贝实现深拷贝的方法递归JSON.parse(JSON.stringify()) 深拷贝和浅拷贝都是处理对象或数据的复制操作 浅拷贝 浅拷贝创建一个的对象,复制的是原对象的引用新对象与原对象共用一个相同的内存地址,因…

分布式算法-Paxos、Raft、ZAB复习

目录 1. Paxos算法 1.1 算法流程 1.2 接受者选举规则 2. Raft算法 2.1 Leader选举 2.2 安全性 3. ZAB算法 3.1 ZAB协议介绍 3.2 消息广播 3.3 崩溃恢复 3.4 数据同步 1. Paxos算法 Paxos 算法是 Leslie Lamport 在 1990 年提出的,经典且完备的分布式一致…

docker的镜像制作

镜像的加载原理 docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS UnionFS(联合文件系统): Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改…

Delphi 12.1安卓APP开发中获取硬件信息及手机号

Demo与代码已上传到CSDN下载。 这里简单说一下代码内容,完整代码请自行下载,不清楚的欢迎留言交流。 前言 演示Demo使用了我自己开发的一个控件,TLayoutPro 《Delphi D10.3 LayoutsPro 控件简介 -避免输入焦点被虚拟键盘遮挡》请查看并下载控…

第三部分:3---环境变量

目录 什么是环境变量? PATH环境变量: 临时修改环境变量PATH: HOME环境变量: 可能使用环境变量的场景: 进程和环境变量的关系: 环境变量相关操作: 代码获取环境变量: 主函数传…