推荐一款自动化测试工具——Taiko

推荐一款自动化测试工具——TaikoWeb 自动化测试工具从刚开始接触的 QTP UFT 到现在绝大多数公司或项目都在使用的 Selenium 以及之后有很大发展前景的 Cypress 可以看出自动化测试工具越来越丰富了 当然这里所提到的都是比较有代表性的 市面上的优秀工具远远不止这三个

前言

Web自动化测试工具从刚开始接触的QTP(UFT),到现在绝大多数公司或项目都在使用的Selenium,以及之后有很大发展前景的Cypress。可以看出自动化测试工具越来越丰富了,当然这里所提到的都是比较有代表性的,市面上的优秀工具远远不止这三个。

简介

Taiko是一个免费的开源Node.js库,带有一个简单的API来自动化基于Chromium的浏览器(Chrome、Microsoft Edge、Opera)和Firefox。

Taiko测试脚本是用JavaScript或任何编译为JavaScript的语言编写的,例如TypeScript。

Taiko的API是为测试人员设计的,与其他测试框架不同,Taiko将浏览器视为一个黑匣子,使用Taiko,您可以通过查看网页而不检查其源代码来编写脚本。

Taiko与Selenium的区别:

(1)Taiko与Selenium非常不同。Selenium使用W3C标准的WebDriver。Taiko使用Chrome DevTools协议。Taiko不需要驱动程序(如ChromeDriver)来连接和自动化浏览器。Taiko捆绑了最新版本的Chromium,但它可以自动化任何支持Chrome DevTools协议的浏览器。

(2)与可以用多种编程语言编写脚本的Selenium不同,Taiko将只支持JavaScript和编译为JavaScript的语言。

官方网址:https://taiko.dev/

安装

先确保已安装Node.js

之后打开命令行,输入安装命令

npm install -g taiko 

注:如提示以下信息,为权限问题。

npm ERR! The operation was rejected by your operating system npm ERR! It is likely you do not have the permissions to access this file as the current user 

推荐一款自动化测试工具——Taiko
解决方法:修改用户权限,之后再次执行安装命令即可。

sudo chown -R $(whoami) $(npm config get prefix)/{ 
   lib/node_modules,bin,share} 

安装完成后,可查看版本信息。

taiko --version 

推荐一款自动化测试工具——Taiko

记录测试

4.1、录制脚本

打开命令行输入命令

taiko 

进入记录测试里,现在可以在此提示中使用Taiko的API作为命令。

在这里插入图片描述
例如:要启动Chrome浏览器实例,输入

openBrowser() 

提示浏览器已打开

推荐一款自动化测试工具——Taiko
此时Chrome浏览器也自动打开

在这里插入图片描述
要查看所有可用的API,命令行输入

.api 

推荐一款自动化测试工具——Taiko
要查看某个API方法的详细信息,命令行输入

.api API方法 

例如:查看打开浏览器的API方法

.api openBrowser 

显示打开浏览器的API方法

推荐一款自动化测试工具——Taiko
之后依次输入命令,完整命令:

openBrowser() goto("https://www.cnblogs.com/alltests/") click("公众号:AllTests软件测试") goto("https://www.baidu.com/") write("taiko test automation") click("百度一下") closeBrowser() 

根据所输入的命令,浏览器做出相应操作。

推荐一款自动化测试工具——Taiko
4.2、生成脚本

生成测试脚本,命令行输入

.code 

自动将已输入的命令生成脚本

在这里插入图片描述
复制/修改此代码或使用,直接将其保存为js文件。

例如:

.code mytest.js 

将代码保存到mytest.js文件里。

4.3、退出录制

完成录制,命令行输入

.exit 

运行测试

使用已录制并生成脚本的mytest.js文件

脚本代码:

const { 
    openBrowser, goto, click, write, closeBrowser } = require('taiko'); (async () => { 
    try { 
    await openBrowser(); await goto("https://www.cnblogs.com/alltests/"); await click("公众号:AllTests软件测试"); await goto("https://www.baidu.com/"); await write("taiko test automation"); await click("百度一下"); } catch (error) { 
    console.error(error); } finally { 
    await closeBrowser(); } })(); 

无头模式

无头模式运行测试

打开命令行,输入执行命令

taiko mytest.js 

运行结果:

执行时不弹出浏览器

浏览模式

查看测试在浏览器窗口中的执行过程

打开命令行,输入执行命令

taiko mytest.js --observe 

运行结果:

与此同时弹出浏览器进行执行操作

仿真模拟

6.1、模拟设备

要模拟设备(使用浏览器的窗口),可以使用参数–emulate-device

打开命令行,输入执行命令

taiko --emulate-device 'iPhone X' 

将浏览器模拟为iPhone X模式

在这里插入图片描述
浏览器打开页面的视角为模拟iPhone X模式显示

查看更多可模拟的设备:

https://docs.taiko.dev/devices

6.2、模拟网络

要模拟网络,可以使用参数–emulate-network

打开命令行,输入执行命令

taiko --emulate-network 'Regular4G' 

设置网络为4G

在这里插入图片描述
模拟网络可用选项有GPRS、Regular2G、Good2G、Regular3G、Good3G、Regular4G、DSL、WiFi、Offline

与Gauge集成

Gauge是一个跨平台、并用于编写可读和可重用的自动化测试框架。属于BDD(Behavior Driven Development)行为驱动开发。

具有降低规范、数据驱动执行、并行执行和测试报告等功能。Gauge使测试维护变得更加容易,Gauge易于安装并与Taiko很好地集成,使用Gauge和Taiko,我们可以编写更可靠的自动化测试。

命令行输入安装命令

npm install -g @getgauge/cli 

创建文件夹(例如:taiko-demo),之后命令行路径跳转到此文件夹下,输入初始化项目命令

gauge init js 

使用编辑器(Visual Studio Code)打开项目

Visual Studio Code下载地址:

https://code.visualstudio.com/

项目目录结构:

在这里插入图片描述
在日常的自动化脚本编写阶段,主要维护specs目录下的.spec文件和tests目录下的.js文件。

因属于BDD,采用.spec文件里的某某关键字对应.js文件里的相应js脚本代码。

1、创建my_demo.spec文件,负责填写测试行为

编写规则(支持Markdown语法):

# 代表测试项目 代表测试用例 * 代表测试步骤,步骤的名称对应js文件里的关键词 

文件内容:

# my_demo项目 demo测试用例 * 测试步骤1:打开博客 * 测试步骤2:打开百度 

2、编写step_implementation.js文件,在后面追加脚本

脚本内容:

step("测试步骤1:打开博客", async function () { 
    await goto("https://www.cnblogs.com/alltests/"); await click("公众号:AllTests软件测试"); }); step("测试步骤2:打开百度", async function () { 
    await goto("https://www.baidu.com/"); await write("taiko test automation"); await click("百度一下"); }); 

3、执行脚本

方式一:打开命令行输入执行命令

gauge run [你的spec的文件名] 

例如1:执行specs文件下的所有文件用例(example.spec、my_demo.spec)

打开命令行,输入命令

gauge run specs 

运行结果:

在这里插入图片描述
例如2:执行specs文件下某个文件用例(my_demo.spec)

打开命令行,输入命令

gauge run specs/my_demo.spec 

方式二:利用编辑器执行

打开.spec文件,打击执行即可,执行结果显示在控制台上。

在这里插入图片描述
4、测试报告

API方法:

https://docs.taiko.dev/api/reference/

截图:

https://docs.taiko.dev/taking_screenshots/

断言:

https://docs.taiko.dev/assertions/

文件上传和下载:

https://docs.taiko.dev/file_upload_and_download/

使用元素列表:

https://docs.taiko.dev/working_with_element_lists/

插件:

https://docs.taiko.dev/plugins/

最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。

推荐一款自动化测试工具——Taiko
包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……

关注我公众号:【程序员二黑】即可获取这份资料了!

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救

大学毕业开始销售…不甘于现状,转行测试的自救之路

从销冠到失业,最后选择软件测试,回头看看这段路,我很幸运!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204167.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:50
下一篇 2026年3月19日 下午8:50


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号