Web自动化测试框架——TestCafe使用指南

sayornotttsayornottt -
Web自动化测试框架——TestCafe使用指南
什么是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 iframes

testcafe当前支持的浏览器操作:

1.Navigate to a URL

(持续更新至完全~)

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

测试自动化测试开发node.js

扩展阅读

加个好友,技术交流

1628738909466805.jpg