首页 > 解决方案 > 重新运行失败的测试用例所需的 Protractor Flake 指导

问题描述

请纠正我对以下内容的理解:

我的假设

我很确定 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]

标签: javascriptprotractor

解决方案


根据文档,

添加依赖

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


推荐阅读