Gauge是一个轻量级的跨平台测试自动化工具。
gauge安装[Win10 64位下测试]【百度网盘链接】https://pan.baidu.com/s/1bidE34gLLrSI8sQ9Lg9R7Q
【提取码】p0j9
1、下载
找到自己需要的版本,点击下载。
本文档使用版本(gauge-1.0.8-windows.x86_64.zip)
【下载地址】https://github.com/getgauge/gauge/releases
点击跳转git-hub链接地址
【注意】
1)darwin是MAC平台
2)需要安装node.js,且npm和node命令可用
2、安装
本文档使用的解压版本,解压即可
3、配置环境变量
将解压出来的gauge.exe所在文件夹配置到系统环境变量Path中
4、检测
查看安装是否成功
5、安装插件
1)安装gague-js插件
[在线安装,十分缓慢,不推荐]
gauge install js[本地安装,推荐]
gauge install js -f gauge-js-2.3.11.zip C:\Gail\Dev\gauge>gauge install js -f gauge-js-2.3.11.zip audited 308 packages in 6.696s found 0 vulnerabilities Successfully installed plugin 'js' version 2.3.112)安装html-report插件,此插件用于生成测试报告;依然可以在线安装,这里直接演示本地安装
C:\Gail\Dev\gauge>gauge install html-report -f html-report-4.0.11-windows.x86_64.zip Successfully installed plugin 'html-report' version 4.0.11【备注】若遇到失败,关闭控制台,重新尝试
6、初始化js项目【注意】在空文件夹中进行
#创建文件夹 mkdir js-demo cd js-demo #简单创建 gauge init js创建过程中。。。
C:\Gail\Dev\gauge\js-demo>gauge init js Downloading js.zip Copying Gauge template js to current directory ... [ .................] - fetchMetadata: sill pacote range manifest for @types/yauzl@^2.9.1 fetched in 1182ms正在下载Chromium。。。到这一步建议两次Ctrl+C取消下载
C:\Gail\Dev\gauge\js-demo>gauge init js Downloading js.zip Copying Gauge template js to current directory ... > taiko@1.0.11 install C:\Gail\Dev\gauge\js-demo\node_modules\taiko > node lib/install.js Downloading Chromium r767160 - 145.9 Mb [ ] 1% 5662.0s完整的操作代码
C:\Gail\Dev\gauge>mkdir js-demo C:\Gail\Dev\gauge>cd js-demo C:\Gail\Dev\gauge\js-demo>gauge init js Downloading js.zip Copying Gauge template js to current directory ... > taiko@1.0.11 install C:\Gail\Dev\gauge\js-demo\node_modules\taiko > node lib/install.js Downloading Chromium r767160 - 145.9 Mb [ ] 1% 12634.4s C:\Gail\Dev\gauge\js-demo>终止批处理操作吗(Y/N)? ^CC:\Gail\Dev\gauge\js-demo>【注意】在创建过程中,会下载很多东西,也不知道都下载的什么玩意;在本人的深入研究下,它默认会依赖一个叫做[taiko]的模块,这个是自动化模拟浏览器操作的框架,详情请自行百度;要下载Chromium,速度及其缓慢不说,还容易卡死。
由于本教程不使用taiko模块,此处不再下载。若需要完整的init示例,本人推荐使用网盘下载[demo-taiko-chrome.rar],或者留言邮箱gail_hu@126.com
7、目录及文件介绍
目录:
文件:
[example.spec]
默认基于markdown语法,也可以用别的写法,详情请自行百度gauge语法;
没有任何特殊字符开头的是注释,"This is an executable..."是注释说明;
一级标题只能有一个,为测试入口;
二级标题可以有多个,为测试阶段;
以[* ]开头的是具体的测试步骤;后面跟的是要传入测试代码名称;测试代码中以此名称来查找具体的测试方法;
双引号在这里指的是要传入测试代码的变量
[step_implementation.js]默认基于node.js语法,不懂请自行学习node.js语法
/* globals gauge*/ "use strict"; const { openBrowser,write, closeBrowser, goto, press, screenshot, text, focus, textBox, toRightOf } = require('taiko'); const assert = require("assert"); const headless = process.env.headless_chrome.toLowerCase() === 'true'; beforeSuite(async () => { await openBrowser({ headless: headless }) }); afterSuite(async () => { await closeBrowser(); }); gauge.screenshotFn = async function() { return await screenshot({ encoding: 'base64' }); }; step("Goto getgauge github page", async () => { await goto('https://github.com/getgauge'); }); step("Search for <query>", async (query) => { await focus(textBox(toRightOf('Pricing'))) await write(query); await press('Enter'); }); step("Page contains <content>", async (content) => { assert.ok(await text(content).exists()); });8、项目改造测试
【代码改造】
[example.spec]