2017-07-31 12 views
2

ファイルを読み込もうとしている行をコメントアウトしましたが、コマンドライン引数として渡す代わりにprotractor.config.tsのファイルから値を取得する方法はありますか?分度器テスト用のjsonファイルからパラメータを読み取る

protractor.config.ts

import { } from 'jasmine'; 
import { Config } from 'protractor'; 

//import fs = require('fs'); // Cannot find module 'fs' 
//import param1 = require('test/e2e/param1.json'); // Cannot find module 'test/e2e/param1.json' 
//import param2 = require('test/e2e/param2.json'); // Cannot find module 'test/e2e/param2.json' 

export let config: Config = { 
    rootElement: 'my-app', 
    framework: 'jasmine', 
    capabilities: { 
    browserName: 'chrome' 
    }, 
    specs: ['test/e2e/**/*.js'], 
    seleniumAddress: 'http://localhost:4444/', 
    params: { 
    param1: '13bf8265-06d6-45c3-97fc-0d6da7b6b597', 
    param2: '14490027-e55b-4739-a5a9-5c091c5d4a72' 
    } 
}; 

テスト/ E2E/param1.json:

{ 
    "param1": "13bf8265-06d6-45c3-97fc-0d6da7b6b597" 
} 

テスト/ E2E/param2.json:

{ 
    "param2": "14490027-e55b-4739-a5a9-5c091c5d4a72" 
} 
+0

protractor.config.js自体から値を取得することを意味する場合は、 'browser.params.param1'を使用できます。 –

答えて

3

あなたが追加したことがありますインポートステートメントは次のようになります。

import * as file1 from './test/e2e/param1.json' 
import * as file2 from './test/e2e/param2.json' 
console.log(file1.param1) 

Cannot find module 'test/e2e/param1.json' というエラーが表示された場合は、TypeScriptの定義を作成/更新する必要があります。宣言ファイルについては、docsを参照してください。

あなたの定義に以下を追加してください。宣言ファイル:

declare module "*.json" { 
    const value: any; 
    export default value; 
} 

上記のようにファイルをインポートすると、完全に動作します。

関連する問題