[step_implementation.js]
/* globals gauge*/ "use strict"; const request = require("request"); step("Open Baidu <url>", async (url) => { var options = {method:'get',encoding:'utf-8',url:url}; request(options,(err,res,body)=>{ console.log(body.toString()); }); });【代码说明】
发起一个打开百度,获取页面内容的测试。
【测试结果】
D:\Develop\gauge\js-demo>npm test > gauge-taiko-template@0.0.1 test D:\Develop\gauge\js-demo > gauge run specs/ # Getting Started with Gauge ## Start Test P <!DOCTYPE html><!--STATUS OK--> <hrml>...中间省略...</html> Successfully generated html-report to => D:\Develop\gauge\js-demo\reports\html-report\index.html Specifications: 1 executed 1 passed 0 failed 0 skipped Scenarios: 1 executed 1 passed 0 failed 0 skipped Total time taken: 401ms【测试说明】
如果出现问题,请参考下面【重点提示】。
1、初始化项目,需要安装对应语言的插件
2、初始化项目,一般在空文件夹下进行[以下代码在Windows控制台中进行]
例如初始化Java
gauge install java mkdir java-demo cd java-demo gauge init java初始化python
gauge install python mkdir python-demo cd python-demo gauge init python3、每次初始化项目都会重新下载那些包,建议使用node.js直接初始化node项目,自己进行补充;或者直接手动创建。
重点提示-项目精简[package.json]源文件
{ "name": "gauge-taiko-template", "version": "0.0.1", "description": "Starter template for writing JavaScript tests for Gauge", "scripts": { "test": "gauge run specs/" }, "dependencies": { "request": "^2.88.2", "taiko": "latest" } }[package.json]文件说明
"name" 项目名,可修改 "version" 版本号,可修改 "description" 项目描述,可修改 "scripts" 执行脚本,不建议修改 "dependencies" 项目依赖,这里要删除[taiko],不然每次初始化都会下载Chromium。如果项目用到这个插件,建议手动复制模块进去。文件修改后
{ "name": "gauge-template", "version": "0.0.1", "description": "JavaScript tests for Gauge", "scripts": { "test": "gauge run specs/" }, "dependencies": { "request": "^2.88.2", } }执行测试之前,删除无关文件,删除后目录如下
|-env |-|-default |-|--default.properties |-|--headless.properties |-|--js.properties |-specs |-|-example.spec |-tests |-|-step_implementation.js |-manifest.json |-metadata.json |-package.json这里执行测试仍旧仅测试打开百度,获取响应。
#在项目根目录打开控制台,安装项目 npm install #测试项目 npm test #测试结果和之前一致 测试中遇到的问题1、提示安装XXX插件或模块
【解决办法】
1)耐心等待;
2)拷贝相应的模块到node_modules
3)npm install 安装相应的模块,但是node.js模块要配置到环境变量,从而达到在系统中的任何地方都能优先使用node.js的模块。
2、关于nodeJs插件的引用错误问题,主要是install安装的路径,比较复杂,建议参考这个链接