javascript - 重新运行失败的测试用例所需的 Protractor Flake 指导
问题描述
请纠正我对以下内容的理解:
- 我已经安装了量角器薄片
- 从网站上我们有 2 组代码
我的假设
我很确定 B 部分需要在configuration.js
我的量角器项目的文件中给出,但 A 部分应该写在哪里。作为一个单独的文件,我应该编写它,然后在我正在运行的规范文件中要求它们。我需要确切的步骤来实现上述目标
下面开始的用法部分:
**var protractorFlake = require('protractor-flake')
// OR using es6 modules/typescript
import protractorFlake = require('protractor-flake')**
and ends with **process.exit(status)**
和开头的解析器部分
module.exports = { till return [...failedSpecs]
解决方案
根据文档,
添加依赖
npm i protractor-flake
# or globally for easier cli usage
npm i -g protractor-flake
运行测试
选项 1:通过 CLI:
# protractor-flake <protractor-flake-options> -- <options to be passed to protractor>
protractor-flake --parser standard --max-attempts=3 -- path/to/protractor.conf.js
假设您的conf.js
文件在root
目录中。
可用的命令行选项。
color?: string | boolean
从这里选择颜色或设置
false
禁用着色用法 :
protractor-flake --parser standard --color=magenta --max-attempts=3 -- conf.js
protractorArgs?: string[]
protractorPath?: string
: 量角器位置像这样'node_modules/.bin/protractor',
用法 :
protractor-flake --parser standard --protractorPath=node_modules/.bin/protractor --max-attempts=3 -- conf.js
parser?: string
: 包含的解析器之一的名称用法 :
protractor-flake --parser standard --color=magenta --max-attempts=3 -- conf.js
您可以从此处参考其他选项
选项 2:以编程方式
root
在您的目录中创建文件flake
并复制以下代码段。
flake
是一个节点脚本,用于protractor-flake
重新运行失败的测试。请注意,它会在file
级别重新运行测试,因此如果一个测试失败,它将重新运行该文件中的所有测试。感谢 Brian Ray 到这个存储库
#!/usr/bin/env node
/**
*
* usage:
* `./flake conf.js [other protractor args]`
*/
const protractorFlake = require('protractor-flake');
// skip first two passed args (node and self)
let protractorArgs = process.argv.splice(2);
console.log(protractorArgs);
protractorFlake({
protractorPath: 'node_modules/.bin/protractor',
maxAttempts: 3,
parser: 'standard',
nodeBin: 'node',
protractorArgs: protractorArgs
}, (status, output) => {
process.exit(status);
});
创建此文件后,为了避免权限错误,只需运行chmod +x ./flake
运行您的测试用例
./flake conf.js
如果您保留specs
在测试套件中,只需在conf.js
.
./flake conf.js --suite smoke_test
在你跑步之前,检查这些Caveats
推荐阅读
- javascript - Webpack 将 scss 编译为 css 并缩小
- c# - 急性 MissingMethodException
- c# - 如何使用 c# 将 encodingStyle 添加到肥皂客户端
- typescript - 打字稿泛型:不可分配给类型 T
- oracle - 基于多列生成行
- selenium - 将脚本运行 7 小时是一种好方法吗?
- c# - 如何获取创建的对象“单元格”的范围?
- html - 纯CSS视差效果+溢出:隐藏替代?
- java - 在 mvn clean install 之后 Cobertura 没有生成覆盖率报告
- python - 在python中计算行计数器变量