여기에 도서관 :돌출 라이브러리 설정 파일에 외부 라이브러리를 연결하는 방법은 무엇입니까?
//library.js
var exports = module.exports = {};
exports.login = function(user_login, user_password) {
var input;
input = element(by.model('loginInfo.login'));
input.sendKeys(user_login);
expect(input.getAttribute('value')).toBe(user_login);
input = element(by.model('loginInfo.password'));
input.sendKeys(user_password);
expect(input.getAttribute('value')).toBe(user_password);
browser.sleep(1000);
browser.driver.actions().sendKeys(protractor.Key.ENTER).perform();
browser.sleep(1000);
};
그리고 이것은 내 설정 파일입니다
//config.js
var lib = require("./library.js");
exports.config = {
directConnect: true,
onPrepare: function() {
browser.driver.manage().window().maximize();
},
// Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName': 'chrome'
},
// Framework to use. Jasmine is recommended.
framework: 'jasmine',
// Spec patterns are relative to the current working directory when
// protractor is called.
specs: ['messages.js'],
// Options to be passed to Jasmine.
jasmineNodeOpts: {
defaultTimeoutInterval: 50000
}
};
그리고 여기가 messages.js 파일에 fn을 로그인 전화 했어 방법은 다음과 같습니다
lib.login('xxx', 'yyyyy');
을
그러나 위의 마지막 줄에 오류가 있습니다. 'lib is not defined'
아니요, library.js는 테스트 스크립트가 아니며 여러 스크립트에 사용하려는 일반적인 메소드가있는 라이브러리입니다. 내가 찾고자하는 것은 이러한 방법을 사용하는 방법이지만, 어떻게 호출해야하는지 모르겠습니다. Conf.js는 라이브러리가 아닌 테스트 스크립트를 호출해야합니다. – user3400351
알겠습니다.이 대답의 후반부를 따르십시오. 간단히'var library = require ('library')();'그런 다음 라이브러리에서 메소드를 library.login()으로 호출 할 수 있습니다. 내가 주말에 쓴이 블로그 게시물을 보면 도움이 될 것입니다. http://www.assertselenium.com/angularjs/protractor-jasmine-pre-post-processing-methods/ – Machtyn
나는 "할 일"이 예상되는 라이브러리에'expect' 문을 넣지 않을 것을 제안합니다. 기대 사양을 실제 사양 테스트에 그대로 둡니다. 즉, 구체적으로 로그인을 테스트하는 spec.js 파일이 있어야합니다. 그러나 로그인 라이브러리는 무료로 제공되지만 로그인은 이전에 테스트되었으므로 단순히 로그인하기위한 테스트를 반복 할 필요가 없습니다. – Machtyn