Nightwatch在方法后

时间:2019-07-16 20:42:21

标签: nightwatch.js

我的任务是向共享点发送一份守夜报告。我已经全部工作了,我只需要在globals.js文件的“ after”方法中获得test_settings名称,因此在测试完成并生成报告后,我可以由date-env-user命名。

背景: 我正在为环境之间的所有一致环境变量使用env.json文件。 在我的nightwatch.conf.js文件中,我有多个“测试设置”环境,例如“本地”,“ qa”等。

当我处于globals.js文件的“ after()”方法中时,我想获取该值“ local”或“ qa”。

我尝试使用process.env.environment,browser.globals.environment(但是globals.js中没有'browser')。我也尝试了其他发现的其他变体,但无济于事。

以下是我的nightwatch.conf.js相关的test_Settings值:

"test_settings": {
    "local": {
        "launch_url":"http://example.local",
        "screenshots": {
            "enabled": true, // if you want to keep screenshots
            "path": './reports/screenshots/local' // save screenshots here
        },
        "globals": {
            "waitForConditionTimeout": 5000 // sometimes internet is slow so wait.
        },
        "desiredCapabilities": { // use Chrome as the default browser for tests
            "browserName": "chrome"
        }
    },
    "qa": {
        "launch_url": "https://qa.example.com",
        "screenshots": {
            "enabled": true, // if you want to keep screenshots
            "path": './reports/screenshots/qa' // save screenshots here
        },
        "globals": {
            "waitForConditionTimeout": 5000 // sometimes internet is slow so wait.
        },
        "desiredCapabilities": { // use Chrome as the default browser for tests
            "browserName": "chrome"
        }
    },

这是我使用以下命令调用测试的示例命令行

  

node_modules / .bin / nightwatch --env本地--config nightwatch.conf.BASIC.js --test test \ e2e \ search.js --reporter ./report   s / reporter.js

我想从globals.js/after()方法内部提取“ local”或“ qa”。 再次,但是“浏览器”不可用。

谢谢。

1 个答案:

答案 0 :(得分:1)

我将在项目中分享我们的做法,并希望这也适用于您:

let activeEnvironment = require("minimist")(process.argv)["env"];

这样,您可以保存给定的环境变量。 如果这在“ after”方法中不起作用,则可以将其写入临时文件,然后在“ after”方法中读取它。

希望这会有所帮助。