2016-11-02 2 views
0

페이지 객체 패턴에 angularjs 각도기 e2e 테스트를 구축하고 있습니다. 스크립트를 페이지 객체로 변환하는 데 문제가 있습니다.각도기 페이지 객체 오류

여기 여기 내 conf.js

// conf.js 
exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['employee.js'] 
} 

입니다 내 여기 employee.js

// spec.js 
var EmpPageObject = require('./EmpPageObject.js'); 
describe('Protractor Demo App', function() { 
    it('should have a title', function() { 

    var empPageObject = new EmpPageObject(); 
    empPageObject.get(); 

    empPageObject.setName('mee'); 
    empPageObject.setPassword('123'); 

    }); 
}); 

나의 EmpPageObject.js

var EmpPageObject = function() { 

    var nameInput = element(by.model('login.user_name')); 
    var passwordInput = element(by.model('login.password')); 
    var addButton = element(by.css('.btn')); 

    this.get = function() { 
    browser.get('http://'); 
    }; 

    this.setName = function(name) { 
    nameInput.sendKeys(name); 
    }; 

    this.setPassword = function(password) { 
    passwordInput.sendKeys(password); 
    }; 

    addButton.click(); 

}; 

하지만, 내 스크립트는 다음과 같은 오류를주고 실패입니다.

Failures: 
1) Protractor Demo App should have a title 
    Message: 
    Failed: EmpPageObject is not defined 

이것은 바보 같은 질문 일 수 있습니다. 그러나 이것이 첫 번째 테스트이기 때문에 오류를 찾을 수 없습니다. : 당신 같은

답변

1

봐 복사 - 붙여 넣기 코드를 여기 https://github.com/angular/protractor/blob/f9c8a37f7dbec1dccec2dde0bd6884ad7ae3f5c7/docs/tutorial.md

describe('Protractor Demo App', function() { 
    it('should have a title', function() { 
    browser.get('http://juliemr.github.io/protractor-demo/'); 

    expect(browser.getTitle()).toEqual('Super Calculator'); 
    }); 
}); 

에서 다음 리소스를 얻을 확인 protractor 시도는 - 그것은 제목이됩니다.

이 함수는 true 또는 false를 반환하여 테스트를 수행합니다. 귀하의 경우, 함수는 undefined을 반환합니다, 그것은 거짓과 동일합니다, 테스트가 실패하고 오류 메시지가 나타납니다.

+0

http://www.protractort.org/#/page-objects에서 페이지 개체로 변환하려고 시도했습니다. 그러나 어떻게이 권리를 만들 수 있습니까? 더 설명 할 수 있을까요? –

+0

죄송합니다. 나는 틀 렸습니다. 다른 문제가 있습니다. 당신은'Failed : EmpPageObject is not defined' 메시지를 가지고 있습니다. 그것은 당신이'EmpPageObject'를 정의 (임포트)하지 않았고'new EmpPageObject()'를 호출 할 때 예외가 발생했기 때문에 테스트가 실패했다는 것을 의미합니다. – degr

+0

하지만, 나는 'EmpPageObject.js'에서'EmpPageObject'를 명확하게 정의했습니다. 나는 너의 친구를 사귀지 않는다. :( –