1

Gruntfile.js から webdriverio 仕様をパラメータ化したいと思います。目標は、ホスト、ポート、ユーザー名、パスワード、およびその他のパラメーターを Grunt で指定し、スペック ファイルから読み取ることです。

https://www.npmjs.com/package/grunt-webdriver#overviewから Source Labs の例を読んで、オプションでホストとポートを設定しました。しかし、ポートを構成すると、次のエラーが発生しました。

/Users/sandro/Developing/Projekte/sling/svn/contrib/explorers/resourceeditor/frontend/node_modules/grunt-webdriver/node_modules/webdriverio/lib/utils/PromiseHandler.js:154
             throw error;
                   RuntimeError: RuntimeError

だからこそ、それを行う別の方法が必要だと思います。私の Gruntfile.js は次のようになります。

module.exports = function(grunt) {

var e2eTestSpecFolder = '../src/test/javascript/e2e/spec/**/*spec.js';

grunt.initConfig({
...
    webdriver: {
        options: {
            host: 'localhost',
            port: 8080
        },
        chrome: {
            tests: [e2eTestSpecFolder],
            options: {
                // overwrite default settings 
                desiredCapabilities: {
                    browserName: 'chrome'
                }
            }
        },
        firefox: {
            tests: [e2eTestSpecFolder],
            options: {
                // overwrite default settings 
                desiredCapabilities: {
                    browserName: 'firefox'
                }
            }
        }
    }
})

...
grunt.registerTask('desktop_build', ['webdriver:chrome', 'webdriver:firefox']);
};

ヒントを事前にありがとう!

更新: 次のバージョンを使用しています。

  • うなり声-cli: v0.1.13

  • うなり声: v0.4.5

  • webdriver-manager: 3.0.0

  • うなり声-webdriver: 0.4.8

4

1 に答える 1

1

わかりました、私はあなたの問題を理解しました:)

これらの「ホスト」および「ポート」パラメーターは事前定義されたものであり、別の目的で使用されています (テストが実行されるのはホストとポートであり、ポートを再定義しています-それが、たとえばここで失敗している理由です- https://github.com/webdriverio/webdriverio/blob/master/examples/webdriverio.saucelabs.jsソースラボへの接続に使用されていることがわかります)。その目的のための最も簡単な解決策は、ENV 変数を定義し、それらのデフォルト値を作成することです (ただし、実際には gruntfile 内でそれを行うべきではありません。必要ではありません)。初めて、次のように:

testHost: (typeof(process.env.TEST_HOST) === 'undefined') ? 'http://localhost' : process.env.TEST_HOST;

その後、環境変数として必要な場合は、TEST_HOST を提供するだけです。

    Linux: sh~ TEST_HOST=http://google.com
grunt task
    Win: export TEST_HOST=http://google.com
grunt task

変数を設定しない場合、" http://localhost " がデフォルトになります。

于 2015-04-06T16:39:45.447 に答える