Nightwatch 在全局方法后获取 test_settings 名称

Nightwatch get test_settings name in global after method

我的任务是将守夜人报告发布到 Sharepoint。我一切正常 我只需要在 globals.js 文件的 'after' 方法中获取 test_settings 名称,这样在测试完成并生成报告后,我可以通过 date-env 命名它-用户。

背景: 我正在为环境之间的所有一致环境变量使用 env.json 文件。 在我的 nightwatch.conf.js 文件中,我有多个 'test_settings' 环境,例如 'local'、'qa' 等

我想在 globals.js 文件的 'after()' 方法中获取该值 'local' 或 'qa'。

我尝试了 process.env.environment、browser.globals.environment(但 'browser' 在 globals.js 中不可用)。我还尝试了我发现的其他文章的一些其他变体,但无济于事。

这是我的 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 local --config nightwatch.conf.BASIC.js --test test\e2e\search.js --reporter ./report s/reporter.js

我想从 globals.js/after() 方法中提取 'local' 或 'qa'。 再次,但 'browser' 不可用。

谢谢。

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

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

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

希望这对您有所帮助。