Electron은 여러 OS를 지원하다보니 OS별로 예외를 처리해야할 때가 있다.이 때는 Node의 OS 모듈을 이용해 OS를 식별하고 예외처리를 할 수 있다.const os = require('os');// 현재 운영 체제가 macOS인지 확인const isMac = os.platform() === "darwin";// 현재 운영 체제가 Windows인지 확인const isWindows = os.platform() === "win32";// 현재 운영 체제가 Linux인지 확인const isLinux = os.platform() === "linux";module.exports = { isMac, isWindows, isLinux,}; OS 모듈에 대한 자세한 설명 : https://nodejs.o..
본문 내용은 Appium + JUnit 기반에서 진행된 내용입니다.이전 포스트에 이어서 React-Native로 개발 된 앱 프로젝트에서 일부 Component가 XPath로 제어되지 않아 터치로 해결했었다.그 중 드래그가 필요한 Picker UI에서 좌표로 드래그 동작을 구현한 방법이다. int startX = 510; // 드래그 시작 지점의 X 좌표int startY = 1065; // 드래그 시작 지점의 Y 좌표int endY = 616; // 드래그 종료 지점의 Y 좌표TouchAction dragAction = new TouchAction(driver);dragAction.longPress(PointOption.point(startX, startY)) .moveTo(PointOption.poi..
본문 내용은 Appium + JUnit 기반에서 진행된 내용입니다.React-Native로 개발 된 앱 프로젝트에서 일부 Component로 구현된 UI가 XPath로 제어되지 않는 경우가 있었다.버튼을 findElementByXPath로 지정해도 버튼을 찾지 못한다던가.. 모든 화면이 아닌 특정 Component를 사용한 화면에서 발생했었고, 테스트 대상 디바이스가 정해져있었기 때문에 좌표로 해결하는 방향으로 결정했다. 일반적인 Element 조작은 WebElement Class를 이용하지만, 좌표로 제어해야하는 경우는 TouchAction Class를 이용한다. // 버튼을 클릭WebElement cancelBtn = (WebElement) driver.findElementByXPath("...");..
Playwright의 테스팅 화면을 영상으로 녹화하는 방법 중 하나인 playwright-video 라이브러리입니다.playwright-video 라이브러리를 설치하면, 간단한 코드를 통해 영상 녹화를 핸들링할 수 있습니다. 설치 npm i playwright playwright-video @ffmpeg-installer/ffmpeg 활용 예const { saveVideo } = require('playwright-video');test.describe('record video sample', () => { let testTab; let saveVideo; test.beforeAll(async ({ browser }) => { // 테스트 시작 전 영상 녹화 세팅 testTab = awai..
faker.js는 Playwright를 위한 라이브러리는 아니지만 테스트 시 사용자의 입력값을 무작위로 입력하고자 할 때유용하게 사용할 수 있는 라이브러리입니다. 설치npm install --save-dev @faker-js/faker Importimport { faker } from '@faker-js/faker/locale/ko'; 활용 예import { faker } from '@faker-js/faker/locale/ko';// 테스트 데이터 생성const { company, person, internet, phone } = faker;const tempMobile: string = phone.number(); // 임의로 생성한 휴대폰 번호export const fillData = { co..
Playwrightplaywright는 Microsoft에서 개발한 E2E 테스트를 지원하는 도구입니다. Chromium WebKit, Firefox를 포함한 모든 최신 렌더링 엔진을 지원Windows, Linux, MacOS OS 지원Headless mode 지원Android 및 모바일 Safari, Electron 등 다양한 환경 지원 저는 공식 문서를 따라 npm 환경에서 설치 및 실행하였습니다. 설치에 앞서 개발 환경에 node가 설치되어있어야합니다.설치npm init playwright@latest위 명령어를 입력하면 아래 항목을들 추가로 선택하게됩니다.(필수) 설치 명령을 실행 후 TypeScript / JavaScript 둘 중 하나를 선택(필수) 테스트 폴더 이름 지정 (기본값 : tes..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/1uvZh/btsIGxanHED/SYJ4Qe5AhFI7rioggZ3QqK/img.png)
React-Native 프로젝트의 Back-End를 개발하며, React-Native 개발자가 API 호출하는데 이슈가 있다고하여 직접 테스팅해보기 위해 React-Native 환경을 구축하며 정리한 내용npx react-native@latest init AwesomeProjectNeed to install the following packages: react-native@0.72.6Ok to proceed? (y) y ###### ###### ### #### #### ### ## ### ### ## ## ..
- Total
- Today
- Yesterday
- 오브젝티브 C
- zero
- tomcat
- 자바스크립트
- MacOS X
- IT
- 제이쿼리
- JavaScript
- Spring Framework
- oracle
- Objective C
- Spring
- 아이폰 개발
- iOS 개발
- SQL
- MySQL
- Java
- iPhone
- Objective-C
- iBATIS
- MAC OSX 10.7
- 오브젝트 C
- 아이폰
- 자바
- JSP
- jQuery
- 아이폰 어플리케이션
- Programming
- Object C
- Xcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |