일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- perfect
- kitura
- ssh
- 28015
- ftp
- Jupyter
- centos
- mysql
- SWIFT
- openpyxl
- Jupyter Notebook
- STF_PortForwarding
- port forwarding
- sshpass
- nmap
- 실행권한
- postgres
- appium
- ubuntu
- nohup
- GoCD
- rethinkdb
- appium server
- Materials
- nGrinder
- create table
- PYTHON
- STF
- postgresql
- insert
- Today
- Total
목록Testing Automation (66)
don't stop believing
Sikuli에서는 popup 등을 통해 사용자와 인터렉션을 할수 있습니다.popup()popError()popAsk()input()inputText()select()하나씩 확인해 봅시다. 먼저 popat()입니다.popat()은 메시지 창을 띄우는 위치를 지정하게 됩니다. 이미지 매칭을 통해 프로그램이 구동되기 때문에 화면의 팝업 위치를 잡아줘야 할 때가 있습니다. 간혹 찾으려는 위치 위에 팝업이 떠 이미지를 가리는 경우가 발생하기도 합니다.사용법은 popat(, )로 사용하면 됩니다.저는 보통 popat(200, 100)으로 합니다. 그러면 화면의 왼쪽 위에 팝업이 뜨게 됩니다. 팝업이 뜨는 위치를 잡았으니 뭐라도 띄워봐야겠죠.popup() 함수를 써봅시다. popup 함수는 popup(, )로 구성됩..
이번에는 Similarity와 Target offset을 알아보겠습니다. Similarity는 이미지의 유사성입니다. 찾으려는 이미지와 얼마나 유사한지를 정의하는 설정입니다.Target offset은 이미지를 찾고 해당 이미지에 좌표에 따른 액션을 하게 하는 것입니다. 먼저 이전에 했던 계산기 스크립트를 다른이름으로 저장합니다. 메뉴 바에서 파일 > 다른 이름으로 저장 합니다.저는 offset으로 저장했습니다. offset으로 저장된 스크립트에서 숫자패드까지 삭제합니다. 그리고 실행해 보면 계산기를 실행하는 것까지 진행될 것입니다.전에는 wate()함수에 숫자패드만 캡처했는데 이번에는 X - + = 까지 캡처합니다. 이제 Similarity와 offset을 확인해 보겠습니다.먼저 실행된 계산기를 화면의 ..
Mac에 Jmeter를 설치해 보겠습니다.먼저 Jmeter는 Java 기반으로 실행됩니다. 최신 버전의 Java(64bit JRE or JDK)가 설치되어 있어야 합니다. Mac에서 Jmeter는 brew로 간단하게 설치할 수 있습니다. $ brew install jmeter --with-plugins brew install jmeter로 간단하게 설치할 수 있고 --with-plugins로 plugin들도 같이 설치하게 할 수 있습니다.실행은 jmeter 파일을 호출하면 됩니다. $ open /usr/local/bin/jmeter jmeter 를 실행하면 새로운 terminal이 하나뜨고 그곳에서 자동으로 jmeter를 실행시킵니다.Jmeter는 이렇게 생겼습니다.여기까지 맥에서 Jmeter 설치였습니다.
SikuliX를 설치했으니 이제 사용해 봐야죠.이미지 매칭 툴의 경우 가장 많이 예로 드는게 계산기 입니다.윈도우의 계산기를 실행해서 수를 더하고 빼봅시다. SikuliX 폴더에서 runsikulix.cmd파일을 더블클릭해 Sikuli를 실행시킵니다.왼쪽 메뉴창의 마우스 조작에 click()를 클릭합니다. 그러면 이미지를 캡쳐할 수 있게 화면이 변경됩니다.그런 다음 모니터의 왼쪽 밑에있는 윈도우 창 이미지를 선택합니다.그럼 에디터 창에 click()함수 안에 캡쳐한 이미지가 들어가 있는 걸 볼 수 있습니다. 성격급한 우리는 어떤 일이 일어나는지 바로 실행해 볼 수 있습니다.에디트 창 위에 있는 실행 버튼을 눌러봅니다. 바로 실행할지 저장할지 아니면 취소할지 묻는창이 뜹니다. 저장을 해봅시다. Save a..
작년에 봤던 Sikuli와 많이 새로워젔습니다.Sikuri가 무엇인지는 아래 링크에 자세히 써있습니다. (영어로)[http://sikulix.com/] Sikuli는 OpenCV를 이용한 이미지 Matching 자동화 툴입니다.일단 여기까지 왔으니 설치나 해봅시다. 설치에 대한 설명은 아래 링크에 있습니다.[http://www.sikulix.com/quickstart/] 먼저 java를 설치해야 합니다. java 8을 설치해야 합니다. (9는 안된다고 합니다.)[java download]java가 설치되어 있다면 cmd를 실행하고 버전을 확인해 봅시다. $ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0..
API load Test Tool인 Locust를 설치해 봅시다.[https://www.locust.io/] python이 설치되어 있어야 하며 pip으로 locust를 설치할 수 있습니다. Lucust는 Python 2.7과 3.3, 3.4, 3.5, 3.6을 지원합니다. $ pip3 install locustio 기본적으로 버전은 확인하고 가야겠죠? $ locust --version [2017-12-05 18:05:56,115] TongChunui-MacBook-Pro.local/INFO/stdout: Locust 0.8.1 [2017-12-05 18:05:56,115] TongChunui-MacBook-Pro.local/INFO/stdout: Mac에 설치한다면 libev도 설치해 줍니다. $ br..
Appium을 이용해 많은 디바이스에서 테스트하려면 모두 USB 케이블로 연결해야 되는데 Wi-Fi를 이용해 연결하는 방법을 설명하겠습니다. 먼저 Android 입니다. 연결하려는 디바이스와 PC(Mac)이 같은 Wi-Fi (네트워크)에 있는지 확인해야 합니다.abd devices를 이용해 현제 USB로 연결되어 있는 Android Device를 확인합니다. 만약 2대의 Device를 Wi-Fi로 연결하려면 한대씩 USB에 연결 후 작업해야 합니다 $ adb devices List of devices attached 03157df338d1b829device adb tcpip를 이용해 port를 등록합니다. 저는 5551부터 사용하겠습니다. $ adb tcpip 5551 restarting in TCP m..
테스트 자동화 대상은 4개의 디바이스에서 실행되어야 합니다.Android Native AppiOS Native AppAndroid Unity AppiOS Unity App 동시에 위 4개의 테스트를 동시에 진행하고 싶습니다.appium을 이용해 어려대의 디바이스를 동시에 실행해 테스트하기 위해서는 Selenium Grid를 이용합니다.Selenium Server가 각 device별로 설정된 4개의 Appium 서버를 연결해 주는 방식입니다. Selenium Grid는 Selenium Standalone Server를 이용하며 Selenium 사이트에서 다운받을 수 있습니다.현재는 3.7.1버전이네요. selenium-server-standalone-3.7.1.jar 파일을 다운받습니다.[http://ww..
Appium에서 Unity App에 대한 자동화 스크립트 입니다. Unity App이기 때문에 화면이 이미지로 인식되어 element를 찾을 수 없습니다. 그래서 OpenCV를 적용해 이미지 매칭(template matching)을 사용했습니다. OpenCV는 아래 url을 참고해 주세요. [http://dejavuqa.tistory.com/category/Python/OpenCV] template matching을 사용하기 위해 두개의 함수를 만들었습니다. 하나는 자동으로 Canny해주는 함수고 다른 하나는 디바이스의 화면을 screenshot 후 찾으려는 이미지를 매치해 가운데 좌표를 반환하는 함수입니다. 먼저 auto_canny() 입니다. 이미지의 외곽선만 표시해 단순화 합니다. def auto_..
Unity 앱의 경우 화면이 모두 image이기 때문에 element를 찾을 수 없습니다. 그래서 openCV와 같은 이미지 matching을 사용해 처리하게 됩니다.Appium에서 LG V10을 save_screenshot()로 이미지를 저장했을 경우 1440 X 2560의 이미지를 얻을 수 있습니다. 하지만 클릭할 수 있는 영역은 제한되는 것을 확인하였습니다. 하단 Start 버튼을 template matching해서 버튼의 가운데 좌표를 찾아옵니다. 그러면 720, 2408이 됩니다. 하지만 TouchAction().tap()을 이용해 해당 좌표 클릭하게 했을 경우 아래와 같은 메시지가 나오게 됩니다.selenium.common.exceptions.WebDriverException: Message:..