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进行分类

  1. 通过如下方式进行fixture的创建:

     fixture("Getting Started")
  2. 然后使用page方法为fixture指定初始的URL:

     fixture("Getting Started").page("https://devexpress.github.io/testcafe/example")
  3. 最后,通过使用test方面进行测试用例的声明:

     fixture("Getting Started").page("https://devexpress.github.io/testcafe/example")
    
     test("My first test", async (t) => {
         // Test code here
     })

    测试动作

testcafe当前支持的页面操作:

  1. 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)
     })
    
    
  2. 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');
     }
     
  3. Type Text(输入文字)
  4. Select Text (选择文本)
  5. Hover(高亮)
  6. Scroll(滑动)
  7. Drag Element(拖动元素)
  8. Upload Files
  9. Work with iframes

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

1.Navigate to a URL

(持续更新至完全~)

姑且是测试开发工程师.

1 声望
0 粉丝
0 条评论
推荐阅读
Go语言中的接口类型(interface)
Golang中,接口是一组方法的签名,是语言中一个重要的组成部分,其目的是通过引入一个中间层与具体的实现进行分离,达到解耦合的作用,同时隐藏底层实现,减少关注点

sayornottt阅读 528

反编译微信小程序获取小程序前端源码wxapkg
研究反编译的原因就是我自己辛苦了半个月写的小程序,忘记备份放在桌面,心急体验Win11系统 重装系统忘记备份源码,后悔莫及。 后来网上找了反编译的教程,反编译已经上线了的小程序 于是自己尝试了一下,真的可...

TANKING13阅读 10.1k评论 7

封面图
Just for fun——C#应用和Nodejs通讯
进程通信常见的进程通讯的方法有:管道(Pipe)命名管道信号消息队列其他管道是比较简单基础的技术了,所以看看它。Node IPC支持Node官方文档中Net模块写着:IPC SupportThe net module supports IPC with named ...

pigLoveRabbit3阅读 6.8k评论 2

「过程详解」async await综合题
如果你之前跟我一样一直对async await熟悉又陌生的话(熟悉是可能每天都在用,陌生是针对一些组合题又丈二和尚摸不着头脑),不妨可以边看边练,总结规律,相信会逐渐清晰并有所得。本文对每个案例都详细描述了代...

wuwhs5阅读 1.3k

封面图
cligetter|一款快速生成 Cli工具 开发模版的脚手架
近年来 cli工具 的开发,对于不断发展的前端生态来说,似乎也逐渐成为工程师们的必备技能。其实开发一个 cli工具 并不难,但对于前端的同学可能存在一点认知上的小门槛,特别是对于刚开始接触 cli 脚手架工具开发...

木木剑光3阅读 669

一个灵活的 Node.js 多功能爬虫库 —— x-crawl
x-crawl · x-crawl 是一个灵活的 Node.js 多功能爬虫库。灵活的使用方式和众多的功能可以帮助您快速、安全、稳定地爬取页面、接口以及文件。如果你也喜欢 x-crawl ,可以给 x-crawl 存储库 点个 star 支持一下,...

coderhxl2阅读 1.9k评论 2

封面图
从零打造你的前端开发脚手架
在实际开发过程中,我们经常都会用到脚手架来构建前端工程项目,常见的主流框架都有自己的脚手架,vue-cli、create-react-app、angular-cli。在大型公司都会有内部定制化的脚手架开发工具,使用脚手架可以大幅提...

南城FE2阅读 3.1k

封面图

姑且是测试开发工程师.

1 声望
0 粉丝
宣传栏