2016-06-24 2 views
1

다음과 유사합니다. python 사전에서 /를 사용하여 Keys()를 전송하는 방법

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

나는 내 관리자 측을 때 사용자가 로그인까지 테스트 할 수있는 방법을 찾기 위해 노력하고있다. 어딘가에 expect (항목이 백엔드에 제출되었는지 확인하기 위해)을 사용해야하지만 각도기 테스트에서 random에서 sendKeys()으로 이름을 선택하는 약 10 개의 이름으로 이루어진 파이썬 사전을 사용하고 싶습니다. 링크를 어떻게 설정합니까? 그런 다음

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

    browser.params.names = obj; 
}, 

, 당신이 당신의 시험에 browser.params.names를 사용할 수 있습니다

답변

1

내 테스트 * spec.js 파일에서 곧바로 3 개의 임의의 사람들 (객체)에 대해 javaScript 객체를 생성하여 알아 냈습니다.

인사이드 내 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 파일에 파이썬 사전을 덤프합니다. 배열에서 임의 값을 가져 오려면 Getting a random value from a JavaScript array 항목을 참조하십시오.

+0

감사합니다 @alecxe .. 동료가 나에게 보여준 후에 더 쉬운 js 개체를 구현했습니다. 귀하의 방법도 효과가;) –

관련 문제