[ci skip]
This commit is contained in:
Plusb Preco 2016-02-29 01:30:43 +09:00 коммит произвёл Cheng Zhao
Родитель 46c6233b62
Коммит b6958e5221
5 изменённых файлов: 85 добавлений и 12 удалений

Просмотреть файл

@ -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) 프로젝트에
커뮤니티가 운영중인 유용한 예제 어플리케이션과 도구, 리소스가 있으니 한번 참고해 보시기

Просмотреть файл

@ -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)
## 튜토리얼

Просмотреть файл

@ -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`를 가져옵니다.

Просмотреть файл

@ -272,12 +272,14 @@ Webview에 웹 페이지 `url`을 로드합니다. `url`은 `http://`, `file://`
페이지에 CSS를 삽입합니다.
### `<webview>.executeJavaScript(code[, userGesture])`
### `<webview>.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)를
참고하세요.
### `<webview>.getWebContents()`
`webview`에 해당하는 [WebContents](web-contents.md)를 반환합니다.
## DOM 이벤트
`webview` 태그는 다음과 같은 DOM 이벤트를 가지고 있습니다:

Просмотреть файл

@ -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과 그 비슷한
툴들을 복잡한 과정 없이 모두 지원합니다. - 설정이 필요하지 않습니다.