2016-06-24 11 views
1

ようなものです。Python辞書を使用して/からKeys()を送信する方法

element(by.model('formData.name')).sendKeys('David Cameron');

私は、ユーザーがサインアップしたときに、私の管理者側をテストする方法を見つけようとしています。どこかで、expect(エントリがバックエンドにサブミットされたかどうかをチェックするために)を使用しなければならないが、私は約30の名前のパイソン辞書を使用したい。randomからsendKeys()に分度器テストが名前を選択する。どうすればリンクを確立できますか?その後

onPrepare: function() { 
    var fs = require('fs'); 
    var obj = JSON.parse(fs.readFileSync('file', 'utf8')); 

    browser.params.names = obj; 
}, 

、あなたのテストでbrowser.params.namesを使用することができます。

答えて

1

3つのランダムな人物(オブジェクト)のように、testing * spec.jsファイルで直接javaScriptオブジェクトを作成することでわかりました。

inside sell-spec.jsファイル。

var random = function(){ 
    return Math.floor((Math.random() * 3) + 1); 
} 

var users = []; 
var user1 = { 
    name : "Jacob", 
    tel : "123", 
    email: "[email protected]", 
    reg: "1234", 
    vin : "2345" 
}; 
var user2 = { 
    name : "Jacob2", 
    tel : "1232", 
    email: "[email protected]", 
    reg: "12342", 
    vin : "23452" 
}; 
var user3 = { 
    name : "Jacob3", 
    tel : "1233", 
    email: "[email protected]", 
    reg: "12343", 
    vin : "23453" 
}; 

users.push(user1); 
users.push(user2); 
users.push(user3); 

var selectedUserIndex = random(); 
selectedUser = users[selectedUserIndex] 

element(by.model('formData.name')).sendKeys(selectedUser.name); 
element(by.model('formData.cell')).sendKeys(selectedUser.tel); 

と私の他の(管理者)では管理者-spec.jsファイルをスペック。

expect(element.all(by.binding('name')).first().getText()).toEqual('Name: ' + seller_details.selectedUser.name); 
expect(element.all(by.binding('cell')).first().getText()).toEqual('Cell: ' + seller_details.selectedUser.tel); 
1

はたとえば、json.dump()のために、あなたはJSONファイルをインポートし、browser.paramsonPrepare()に設定することができ、経由でJSONファイルにあなたのPythonの辞書をダンプします。配列からランダムな値を取得するには、Getting a random value from a JavaScript arrayトピックを参照してください。

+0

感謝@alecxe ..私は同僚が私に方法を示した後、より簡単なjsオブジェクトを実装しました。あなたの方法も働いた;) –

関連する問題