From b6958e5221590f8a67b20b182ca462af47263691 Mon Sep 17 00:00:00 2001 From: Plusb Preco Date: Mon, 29 Feb 2016 01:30:43 +0900 Subject: [PATCH] Update as upstream [ci skip] --- README-ko.md | 5 +- docs-translations/ko-KR/README.md | 1 + docs-translations/ko-KR/api/web-contents.md | 23 +++++--- docs-translations/ko-KR/api/web-view-tag.md | 10 +++- .../ko-KR/tutorial/testing-on-headless-ci.md | 58 +++++++++++++++++++ 5 files changed, 85 insertions(+), 12 deletions(-) create mode 100644 docs-translations/ko-KR/tutorial/testing-on-headless-ci.md diff --git a/README-ko.md b/README-ko.md index b9085828d46..28bb02a1637 100644 --- a/README-ko.md +++ b/README-ko.md @@ -71,8 +71,9 @@ API 레퍼런스가 있습니다. Electron을 빌드 하는 방법과 프로젝 - Atom 포럼의 [`electron`](http://discuss.atom.io/c/electron) 카테고리 - Freenode 채팅의 `#atom-shell` 채널 - Slack의 [`Atom`](http://atom-slack.herokuapp.com/) 채널 -- [`electron-br`](https://electron-br.slack.com) *(브라질 포르투갈어)* 커뮤니티 -- [`electron-kr`](http://www.meetup.com/electron-kr/) *(한국어)* 커뮤니티 +- [`electron-br`](https://electron-br.slack.com) *(브라질)* 커뮤니티 +- [`electron-kr`](http://www.meetup.com/electron-kr/) *(한국)* 커뮤니티 +- [`electron-jp`](https://electron-jp-slackin.herokuapp.com/) *(일본)* 커뮤니티 [awesome-electron](https://github.com/sindresorhus/awesome-electron) 프로젝트에 커뮤니티가 운영중인 유용한 예제 어플리케이션과 도구, 리소스가 있으니 한번 참고해 보시기 diff --git a/docs-translations/ko-KR/README.md b/docs-translations/ko-KR/README.md index 6f4a1c520f5..8c5912f604b 100644 --- a/docs-translations/ko-KR/README.md +++ b/docs-translations/ko-KR/README.md @@ -30,6 +30,7 @@ Electron에 대해 자주 묻는 질문이 있습니다. 이슈를 생성하기 * [개발자 도구 확장 기능](tutorial/devtools-extension.md) * [Pepper 플래시 플러그인 사용하기](tutorial/using-pepper-flash-plugin.md) * [Widevine CDM 플러그인 사용하기](tutorial/using-widevine-cdm-plugin.md) +* [Headless CI 시스템에서 테스팅하기 (Travis, Jenkins)](tutorial/testing-on-headless-ci.md) ## 튜토리얼 diff --git a/docs-translations/ko-KR/api/web-contents.md b/docs-translations/ko-KR/api/web-contents.md index 6e41f31155c..ed2f05f1d5a 100644 --- a/docs-translations/ko-KR/api/web-contents.md +++ b/docs-translations/ko-KR/api/web-contents.md @@ -421,10 +421,12 @@ var currentURL = win.webContents.getURL(); CSS 코드를 현재 웹 페이지에 삽입합니다. -### `webContents.executeJavaScript(code[, userGesture])` +### `webContents.executeJavaScript(code[, userGesture, callback])` * `code` String * `userGesture` Boolean (optional) +* `callback` Function (optional) - 스크립트의 실행이 완료되면 호출됩니다. + * `result` 페이지에서 자바스크립트 코드를 실행합니다. @@ -646,14 +648,14 @@ mainWindow.webContents.on('devtools-opened', function() { 개발자 도구가 열려있는지 여부를 반환합니다. -### `webContents.toggleDevTools()` - -개발자 도구를 토글합니다. - ### `webContents.isDevToolsFocused()` 개발자 도구에 포커스 되어있는지 여부를 반환합니다. +### `webContents.toggleDevTools()` + +개발자 도구를 토글합니다. + ### `webContents.inspectElement(x, y)` * `x` Integer @@ -758,9 +760,10 @@ Input `event`를 웹 페이지로 전송합니다. * `keyCode` Char or String (**required**) - 키보드 이벤트로 보내지는 문자. 단일 UTF-8 문자를 사용할 수 있고 이벤트를 발생시키는 다음 키 중 하나를 포함할 수 있습니다: - `enter`, `backspace`, `delete`, `tab`, `escape`, `control`, `alt`, `shift`, - `end`, `home`, `insert`, `left`, `up`, `right`, `down`, `pageUp`, `pageDown`, - `printScreen` + `enter`, `backspace`, `delete`, `tab`, `escape`, `control`, `alt`, `altgr` + (Windows 전용), `shift`, `end`, `home`, `insert`, `left`, `up`, `right`, + `down`, `pageUp`, `pageDown`, `printScreen`, `meta`, `cmd` (OSX 전용), + `command` (OSX 전용), `option` (OSX 전용) 마우스 이벤트들에 대해서는 `event` 객체는 다음 속성들을 사용할 수 있습니다: @@ -832,6 +835,10 @@ win.webContents.on('did-finish-load', function() { 이 webContents에서 사용하는 [session](session.md) 객체를 반환합니다. +### `webContents.hostWebContents` + +현재 `WebContents`를 소유하는 `WebContents`를 반환합니다. + ### `webContents.devToolsWebContents` 이 `WebContents`에 대한 개발자 도구의 `WebContents`를 가져옵니다. diff --git a/docs-translations/ko-KR/api/web-view-tag.md b/docs-translations/ko-KR/api/web-view-tag.md index 30da9f253b4..bda18b78898 100644 --- a/docs-translations/ko-KR/api/web-view-tag.md +++ b/docs-translations/ko-KR/api/web-view-tag.md @@ -272,12 +272,14 @@ Webview에 웹 페이지 `url`을 로드합니다. `url`은 `http://`, `file://` 페이지에 CSS를 삽입합니다. -### `.executeJavaScript(code[, userGesture])` +### `.executeJavaScript(code[, userGesture, callback])` * `code` String * `userGesture` Boolean +* `callback` Function (optional) - 스크립트의 실행이 완료되면 호출됩니다. + * `result` -페이지에서 자바스크립트 `code`를 실행합니다. +페이지에서 자바스크립트 코드를 실행합니다. 만약 `userGesture`가 `true`로 설정되어 있으면 페이지에 유저 제스쳐 컨텍스트를 만듭니다. 이 옵션을 활성화 시키면 `requestFullScreen`와 같은 HTML API에서 유저의 승인을 @@ -427,6 +429,10 @@ Webview 페이지를 PDF 형식으로 인쇄합니다. `event` 객체에 대해 자세히 알아보려면 [webContents.sendInputEvent](web-contents.md##webcontentssendinputeventevent)를 참고하세요. +### `.getWebContents()` + +이 `webview`에 해당하는 [WebContents](web-contents.md)를 반환합니다. + ## DOM 이벤트 `webview` 태그는 다음과 같은 DOM 이벤트를 가지고 있습니다: diff --git a/docs-translations/ko-KR/tutorial/testing-on-headless-ci.md b/docs-translations/ko-KR/tutorial/testing-on-headless-ci.md new file mode 100644 index 00000000000..be88be1cec6 --- /dev/null +++ b/docs-translations/ko-KR/tutorial/testing-on-headless-ci.md @@ -0,0 +1,58 @@ +# Headless CI 시스템에서 테스팅하기 (Travis, Jenkins) (Travis CI, Jenkins) + +Chromium을 기반으로 한 Electron은 작업을 위해 디스플레이 드라이버가 필요합니다. +만약 Chromium이 디스플레이 드라이버를 찾기 못한다면, Electron은 그대로 실행에 +실패할 것입니다. 따라서 실행하는 방법에 관계없이 모든 테스트를 실행하지 못하게 됩니다. +Electron 기반 어플리케이션을 Travis, Circle, Jenkins 또는 유사한 시스템에서 테스팅을 +진행하려면 약간의 설정이 필요합니다. 요점만 말하자면, 가상 디스플레이 드라이버가 +필요합니다. + +## 가상 디스플레이 드라이버 설정 + +먼저, [Xvfb](https://en.wikipedia.org/wiki/Xvfb)를 설치합니다. 이것은 X11 +디스플레이 서버 프로토콜의 구현이며 모든 그래픽 작업을 스크린 출력없이 인-메모리에서 +수행하는 가상 프레임버퍼입니다. 정확히 우리가 필요로 하는 것입니다. + +그리고, 가상 xvfb 스크린을 생성하고 DISPLAY라고 불리우는 환경 변수를 지정합니다. +Electron의 Chromium은 자동적으로 `$DISPLAY` 변수를 찾습니다. 따라서 앱의 추가적인 +다른 설정이 필요하지 않습니다. 이러한 작업은 Paul Betts의 +[xfvb-maybe](https://github.com/paulcbetts/xvfb-maybe)를 통해 자동화 할 수 +있습니다: `xfvb-maybe`를 테스트 커맨드 앞에 추가하고 현재 시스템에서 요구하면 +이 작은 툴이 자동적으로 xfvb를 설정합니다. Windows와 Mac OS X에선 간단히 아무 작업도 +하지 않습니다. + +``` +## Windows와 OS X에선, 그저 electron-mocha를 호출합니다 +## Linux에선, 현재 headless 환경에 있는 경우 +## xvfb-run electron-mocha ./test/*.js와 같습니다 +xvfb-maybe electron-mocha ./test/*.js +``` + +### Travis CI + +Travis에선, `.travis.yml`이 대충 다음과 같이 되어야 합니다: + +``` +addons: + apt: + packages: + - xvfb + +install: + - export DISPLAY=':99.0' + - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & +``` + +### Jenkins + +Jenkins는 [Xfvb 플러그인이 존재합니다](https://wiki.jenkins-ci.org/display/JENKINS/Xvfb+Plugin). + +### Circle CI + +Circle CI는 멋지게도 이미 xvfb와 `$DISPLY` 변수가 준비되어 있습니다. 따라서 +[추가적인 설정이 필요하지](https://circleci.com/docs/environment#browsers) 않습니다. + +### AppVeyor + +AppVeyor는 Windows에서 작동하기 때문에 Selenium, Chromium, Electron과 그 비슷한 +툴들을 복잡한 과정 없이 모두 지원합니다. - 설정이 필요하지 않습니다.