일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Jupyter
- GoCD
- postgres
- perfect
- create table
- rethinkdb
- STF_PortForwarding
- ubuntu
- Materials
- PYTHON
- mysql
- ssh
- ftp
- sshpass
- nmap
- appium
- centos
- Jupyter Notebook
- SWIFT
- insert
- openpyxl
- port forwarding
- STF
- kitura
- 28015
- nohup
- 실행권한
- postgresql
- nGrinder
- appium server
- Today
- Total
목록Testing Automation/SikuliX (17)
don't stop believing
웹 같이 스크롤이 있는 경우 마우스 휠을 이용해야 할 때가 있습니다.마우스 휠을 내리면서 내가 원하는 이미지가 나올때까지 반복해야 할때가 있습니다. wheel() 명령을 사용해 보겠습니다.우선 wheel()명령은 이미지를 넣어서 휠을 동작하는 것과 현재 마우스 위치에서 휠을 동작하는 방법이 있습니다. 마우스 휠을 내리고 싶다면 WHEEL_DOWN 마우스 휠을 올리고 싶다면 WHEEL_UP 입니다. 위 두 가지 방법을 이용한 예제입니다.JTBC 웹 사이트에 가서 마우스 휠을 내려 예고편 페이지로 이동하고 싶습니다.http://jtbc.joins.com/ wheel() 명령으로 마우스 휠을 동작시켜 보세요.
SikuliX 코드를 작성하다 보면 에러가 나는 경우가 있습니다.우리가 배운 것 중에 하나를 예로 든다면 findBest() 함수가 있습니다.findBest()함수는 배열로 된 찾으려는 이미지에서 가장 적합한 것을 하나 찾아 알려주게 됩니다. 하지만 만약 배열로된 이미지 중 맞는게 없다면 에러가 나게 됩니다. Don't Starve Togather라는 게임을 자주 하는데 나무를 베야 할 때가 있습니다.여러 종류의 나무가 있고 그중 하나를 선택해 스페이스 키를 눌러 나무를 베라는 코드를 작성했습니다. 아래처럼 작성했는데 나무가 없는 곳에서 SikuliX 코드를 실행하니 에러가 납니다. 나무를 찾지 못했다고 합니다. 코드에서 에러가 나올 경우 에러난 코드 부분을 무시하고 다음 코드를 실행시켜 주고 싶다면 t..
SikuliX는 Java로 만들어 졌지만 Jython을 적용했습니다. 즉 Python 2.7도 사용할 수 있습니다.SikuliX에서 Python이 잘 동작하는지 확인해 봅시다. 우선 PC의 Python 버전을 확인해 봅시다. cmd를 열고 아래와 같이 작성합니다.만약 python이 설치되어 있지 않다면 아래 링크를 확인하세요.[Windows에 Python 설치하기] python --version Python 2.7.14 이제 Python으로 txt파일을 생성하고 글을 쓰는 예제를 실행해 봅시다.에디터 프로그램으로 아래와 같이 작성합니다. # -*- coding:utf-8 -*- f = open('newFile.txt', 'wt') for i in range(1, 6): data = "전기줄에서 %d번 참..
앞서 Interacting with the User에서는 한글을 사용하기 위해 .decode('utf-8')을 사용했는데요.웹 페이지의 input 박스에 type() 함수로 한글을 넣을때는 .decode('utf-8')이 적용되지 않습니다. 확인해 보니 type() 함수에는 어렵고 paste() 함수를 써야 합니다. paste() 함수는 붙여넣기 입니다. 구글 검색창에 한글을 입력하는 예제입니다. 참고하세요.
OCR을 이용해 원하는 글자를 찾아 보겠습니다. Optical character recognition (also optical character reader, OCR) is the mechanical or electronic conversion of images of typed, handwritten or printed text into machine-encoded text, whether from a scanned document, a photo of a document, a scene-photo (for example the text on signs and billboards in a landscape photo) or from subtitle text superimposed on an image (..
게임에서 동일한 아이콘이나 버튼을 확인할 경우 findAll()함수로 대상을 모두 찾고 for 문으로 하나씩 처리할 수 있습니다. 아래와 같은 게임에서 Train이란 말풍선 버튼을 확인하고 클릭해 줘야 할 때가 있습니다.이럴때는 간단하게 findAll()과 for 구문으로 처리해 줄 수 있습니다. 만약 findAll()로 찾으려는 이미지가 조금씩 다른 모양이거나 배경 이미지에 간섭을 받는다면 findAny()함수를 사용해 findBest()함수처럼 여러개의 샘플 이미지 중에서 유사한 것을 확인해 찾을 수 있습니다. 단 findAny()함수는 SikuliX 1.1.2 버전에서 사용 가능합니다. Nightly build 1.1.2 버전 설치는 아래 링크에서 확인할 수 있습니다.[http://dejavuqa...
게임을 SikuliX로 자동화 하려고 할때 동그란 버튼을 선택해야 할때가 있습니다.이미지를 선택하면 네모 형태의 이미지가 캡처되고 그 안에 동그란 버튼이 오게 됩니다. 이때 배경에 따라 동그란 버튼 이외의 부분이 이미지로 잡히게 되는데요. 이에대한 적절한 대안으로 findBest()함수를 사용하게 됩니다. 화면의 오른쪽 밑에 칼이 그려진 동그란 보라색 버튼을 클릭하고 싶습니다.하지만 화면이 이동하면 배경 이미지때문에 잘 매칭이 될지 의문입니다. 그래서 먼저 투명이미지를 사용해 보기로 합니다.동그란 버튼을 캡처한 후 버튼 외의 부분을 투명하게 변경합니다. 저는 Paint.NET 프로그램을 사용해 지워봤습니다.그런다음 find()함수를 사용해 이미지를 찾아 봅니다.저 정도는 잘 찾아지는 것 같습니다. 하지만..
SikuliX는 현재 공식적으로 배포된 버전은 1.1.1 입니다.하지만 Document를 보다보면 New in version X1.1.2.라는 표시를 볼 수 있습니다.http://sikulix-2014.readthedocs.io/en/latest/region.html#find-more-than-one-image-in-a-region-at-the-same-time 아직 정식 배포되지 않은 1.1.2가 있습니다. Nightly Build라고 하는데요.Daily Build와 Nightly Build의 설명은 아래와 같습니다. A daily build or nightly build is the practice of each day doing a software build of the latest version ..
SikuliX 의 Document를 확인해 보겠습니다.더 많은 기능을 시용하려면 Document를 자주 확인하는 것이 좋습니다. Home Site: http://www.sikuli.org/홈 페이지 정도는 알아야 겠죠. Github SikuliX: https://github.com/sikuli/sikuliSikuli는 Open Source 프로그램입니다. Github에서 소스를 확인할 수 있습니다. Documentation Page (1.1): http://sikulix-2014.readthedocs.io/en/latest/index.htmlSikuliX 문서의 첫 페이지 입니다. 많은 정보가 있는데 잘 찾아 가셔야 합니다. Sikuli Q&A: https://answers.launchpad.net/si..
SikuliX IDE의 상단 명령에 대해서 설명하겠습니다. 화면 갈무리와 이미지 삽입은 말 그대로 입니다.화면 갈무리는 화면의 특정 영역을 캡처해 IDE 화면에 보여줍니다.이미지 삽입은 이전에 작업한 이미지를 불러올 수 있습니다. Region은 영역을 지정하는 것입니다.화면에서 특정 영역에 대해서만 이미지를 찾고 싶을때 사용합니다. 만약 Nox를 사용해 게임 플레이를 자동화하려고 할때 Nox 화면 영역에서만 이미지를 찾아 동작을 하게할 수 있습니다. 저는 PC 바탕화면에 두 개의 Chrome이 있습니다. Region을 설정하고 Region안에 있는 Chrome으로 마우스를 옮기도록 하겠습니다.상단 메뉴에 있는 Region을 클릭하고 오른쪽에 있는 Chrome을 포함하도록 영역을 지정합니다. 그리고 hov..