Web自动化测试框架——TestCafe使用指南
sayornotttsayornottt -什么是TestCafe?
TestCafe是一个基于Node.js,支持多平台(Linux,Windows,macOS)的端到端web测试框架
安装指南最简单的方式是通过npm包管理工具进行安装,以下命令会在电脑上全局安装testcafe
npm i -g testcafe
构成TestCafe测试基于Node.js脚本执行,可通过新创建TypeScript或JavaScript文件开始进行测试用例编写,TestCafe的测试文件由fixtures和tests组成,一个fixture是一组共享初始URL的test函数组成的
建议:在每一个test文件中仅使用一个fixture,如用例集中包含不同初始URL的测试,最好将其分配至不同的测试文件中——通过初始URL进行分类
通过如下方式进行fixture的创建:
fixture("Getting Started")
然后使用page方法为fixture指定初始的URL:
fixture("Getting Started").page("https://devexpress.github.io/testcafe/example")
最后,通过使用test方面进行测试用例的声明:
fixture("Getting Started").page("https://devexpress.github.io/testcafe/example")
test("My first test", async (t) => {
// Test code here
})
测试动作testcafe当前支持的页面操作:
Click(点击)
点击操作又可分为:Click、Double Click、Right Click,示例:
import {Selector} from 'testcafe';
fixture `Interact With the Page`.page`example`;
test("Click Test", async (t) => {
const btn = Selector("button").withText("Test")
// await t.doubleClick(btn)
// await t.rightClick(btn)
await t.click(btn)
})
Press Key(键盘输入)
Press Key操作用于一些键盘输入如:enter、shift等,具体如下:
`backspace`
`tab`
`enter`
`capslock`
`esc`
`space`
`pageup`
`pagedown`
`end`
`home`
`left`
`right`
`up`
`down`
`ins`
`delete`
同时,pressKey还支持组合键:`ctrl+c`等
示例:
import { Selector } from 'testcafe'
const nameInput = Selector("developer-name")
fixture`TestController.pressKey`
.page`https://devexpress.github.io/testcafe/example/`;
test('Key Press', async (t) => {
await t
.typrText(nameInput, 'Peter Parker')
.pressKey('home right . delete delete delete delete)
.expect(nameInput.value).eql('P. Parker');
}
Type Text(输入文字)Select Text (选择文本)Hover(高亮)Scroll(滑动)Drag Element(拖动元素)Upload FilesWork with iframestestcafe当前支持的浏览器操作:
1.Navigate to a URL
(持续更新至完全~)
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。
下一篇: 「过程详解」async await综合题
Tags 标签
测试自动化测试开发node.js扩展阅读
深入理解函数调用原理
2021-01-07 14:58:59 []Deno 双周刊 #1 - Deno 获 2020 JS 年度突破开源奖
2021-01-08 08:54:29 []Spring Ioc 实例化 Bean 对象有几种方式?
2021-01-15 02:09:56 []Windows10错误在打开特定路径时导致BSOD崩溃
2021-01-19 06:56:04 []Lighthouse使用说明
2021-07-29 03:17:21 [米花儿团儿]电子物流中的EDI 应用
2021-07-28 23:52:25 [阿兵]Python实现一个简单的毕业生信息管理系统的示例代码!非常简单
2021-07-29 06:56:23 [mengy7762]MacBook Pro M1配置前端开发环境
2021-07-28 12:11:55 [summer]node js 各类数据库常用方法封装的、心路历程、、
2021-07-28 22:36:29 [wzj5cnaz]strapi安装
2021-07-29 09:16:13 [A_Ghost]加个好友,技术交流
