Node.js→모차→WebDriver→BrowserStack→Internet Explorer로 사이트 자동 테스트
BrowserStack은 100분 동안 무료로 시험해 볼 수 있다.Automate Pro 프로그램은 월 99달러입니다.
Mac 개발용 IE로 시도하고 싶을 때 인터넷 익스플로어 드라이브를 스스로 준비하는 환경은 번거롭다.
테스트 스크립트를 작성할 때 Selenium Standalone Server를 사용하는 경우에도
사이트 주체의 개발, 운용 중의 테스트는 Browser Stack에 의존하는 것이 매우 간단한 것 같다.
관련 보도: Node.js→Mocha→WebDriver→Selenium→Chrome 사이트 자동 테스트
(1) 웹 driverio 설치
npm install webdriverio wdio-mocha-framework wdio-browserstack-service
(2) BrowserStack 계정을 만들고 사용자 키를 받는 그룹
(3) wdio.conf.js 쓰기
exports.config = {
specs: ['./test/specs/**/*.js'],
capabilities: [{
'browserName': 'IE',
'os': 'Windows',
'os_version': '7',
'resolution': '1024x768',
'browserstack.debug': true
}],
services: ['browserstack'],
browserstackLocal: true,
// https://www.browserstack.com/accounts/settings
user: 'xxxx',
key: 'xxxx',
mochaOpts: {
timeout: 6000000 // 10分間
},
logLevel: "verbose"
};
(4) ./test/specs/yahoo.쓰다
const assert = require("assert");
describe("Test", () => {
it("Yahoo!検索", () => {
browser.url("https://search.yahoo.co.jp/");
assert.equal(browser.getTitle(), "Yahoo!検索");
$("input[name=p]").setValue("webdriver.io");
$("input[type=submit]").click();
browser.waitForExist("h3 a", 5000);
assert.equal($("h3 a").getText(), "WebdriverIO - WebDriver bindings for Node.js");
assert.equal($("h3 a").getAttribute("href"), "http://webdriver.io/");
});
});
※ 지난번구글에서 검색할 때. DOM 구조 때문에 excute()가 필요합니다.IE라면 잘 안 맞는 것 같으니 야후 해보세요!시험을 개작하다.
(5) 테스트 수행
./node_modules/.bin/wdio wdio.conf.js
다음verbose 로그에서 처리 내용을 확인할 수 있습니다.화면에 포착된 정지화·애니메이션도 브라우저를 통해 확인할 수 있다.
[20:26:22] COMMAND POST "/wd/hub/session"
[20:26:22] DATA {"desiredCapabilities":{"javascriptEnabled":true,"locationC
ontextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"IE","o
s":"Windows","os_version":"7","resolution":"1024x768","loggingPrefs":{"browser"
:"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":
"4.9.11","name":"webdriverio"}}}
[20:26:26] INFO SET SESSION ID xxxx
[20:26:26] RESULT {"browserAttachTimeout":0,"enablePersistentHover":false,"
ie.forceCreateProcessApi":false,"pageLoadStrategy":"normal","ie.usePerProcessPr
oxy":false,"ignoreZoomSetting":false,"handlesAlerts":true,"version":"10","platf
orm":"WINDOWS","nativeEvents":false,"ie.ensureCleanSession":false,"elementScrol
lBehavior":0,"ie.browserCommandLineSwitches":"","webdriver.remote.sessionid":"x
xxx","requireWindowFocus":false,"browserName":"internet explorer","initialBrows
erUrl":"about:blank","takesScreenshot":true,"javascriptEnabled":true,"ignorePro
tectedModeSettings":false,"enableElementCacheCleanup":true,"cssSelectorsEnabled
":true,"unexpectedAlertBehaviour":"dismiss"}
[Browserstack] Windows 7 IE session: https://www.browserstack.com/automate/buil
ds/xxxx/sessions/xxxx
[20:26:27] COMMAND POST "/wd/hub/session/xxxx/url"
[20:26:27] DATA {"url":"https://search.yahoo.co.jp/"}
[20:26:39] COMMAND GET "/wd/hub/session/xxxx/title"
[20:26:39] DATA {}
[20:26:39] RESULT "Yahoo!検索"
[20:26:39] COMMAND POST "/wd/hub/session/xxxx/element"
[20:26:39] DATA {"using":"css selector","value":"input[name=p]"}
[20:26:40] RESULT {"ELEMENT":"0"}
[20:26:40] COMMAND POST "/wd/hub/session/xxxx/element/0/clear"
[20:26:40] DATA {}
[20:26:40] COMMAND POST "/wd/hub/session/xxxx/element/0/value"
[20:26:40] DATA {"value":["w","e","b","d","r","i","v","e","r",".","(2 more items)"],"text":"webdriver.io"}
[20:26:41] COMMAND POST "/wd/hub/session/xxxx/element"
[20:26:41] DATA {"using":"css selector","value":"input[type=submit]"}
[20:26:41] RESULT {"ELEMENT":"1"}
[20:26:41] COMMAND POST "/wd/hub/session/xxxx/element/1/click"
[20:26:41] DATA {}
[20:26:46] COMMAND POST "/wd/hub/session/xxxx/elements"
[20:26:46] DATA {"using":"css selector","value":"h3 a"}
[20:26:47] RESULT [{"ELEMENT":"2"},{"ELEMENT":"3"},{"ELEMENT":"4"},{"ELEMENT":"5"},{"ELEMENT":"6"},{"ELEMENT":"7"},{"ELEMENT":"8"},{"ELEMENT":"9"},{"ELEMENT":"10"},{"ELEMENT":"11"}]
[20:26:47] COMMAND POST "/wd/hub/session/xxxx/element"
[20:26:47] DATA {"using":"css selector","value":"h3 a"}
[20:26:47] RESULT {"ELEMENT":"2"}
[20:26:47] COMMAND GET "/wd/hub/session/xxxx/element/2/text"
[20:26:47] DATA {}
[20:26:48] RESULT "WebdriverIO - WebDriver bindings for Node.js"
[20:26:48] COMMAND POST "/wd/hub/session/xxxx/element"
[20:26:48] DATA {"using":"css selector","value":"h3 a"}
[20:26:48] RESULT {"ELEMENT":"2"}
[20:26:48] COMMAND GET "/wd/hub/session/xxxx/element/2/attribute/href"
[20:26:48] DATA {}
[20:26:48] RESULT "http://webdriver.io/"
[20:26:49] COMMAND DELETE "/wd/hub/session/xxxx"
[20:26:49] DATA {}
1 passing (37.10s)
Reference
이 문제에 관하여(Node.js→모차→WebDriver→BrowserStack→Internet Explorer로 사이트 자동 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kawanet/items/8dcbf9db25a535a5013c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)