2016년 4월 25일 월요일

selenium IDE로 할 수 있는 것 - Flow Control之조건문(2)


Flow Control 그 두번째.......... 조건문을 만들어 보자.

Flow Control之반복문(1) 에서 부가기능을 설치했으니 여기서는 패스한다.

조건문은 gotoIf, label 두 명령어로 작성할 수 있다.
예:

1gotoif조건식(예:$a==1)변수명
2openhttp://naver.com
3label변수명
4openhttp://google.com

별로 어렵진 않은데 테이블 형식으로 스크립트를 작성해서 그런진 모르겠지만 java의 조건문보다 적응이 안되는 사실이다. gotolabel, label 명령어까지 겹쳐서 사용하면 더 그렇다. (gotolabel, label은 조건문없이 바로 점프해서 원하는 위치로 이동하는 명령어다.) 

그럼 아래 반복문이랑 같이 사용해서 스크립트를 짜보자.

시나리오:
1.  내 블로그에 접근
2. 첫번째 글에 댓글 5개 작성
3. 4번째일 때는 댓글 작성하지 않고 패스



2016년 4월 23일 토요일

selenium IDE로 할 수 있는 것 - Flow Control之반복문


오늘은 selenium IDE(이하 IDE) 반복 수행 스크립트를 짜보자.

IDE은 기본적으로 flow control을 지원하지 않아 부가기능으로 flow control을 해야 한다.
예전에는 여기에서 필요한 파일을 다운 받은 후 해당 파일을 IDE의 Options > Genaral > Selenium Core extensions에 설정하여 사용했지만.....



근데 지금은 많이 간단해졌다. 파폭 부가기능만 설치하면 끝~

1. 파이어폭스에서 https://addons.mozilla.org/ko/firefox/addon/flow-control/ 로 접근 후 설치 및 브라우저 재 실행하면 된다. 

2. 제대로 설치되었는지 확인하려면 IDE command 입력 박스에 while을 입력 시 자동완성이 되면 설치 성공.

3. 다음은 스크립트를 짜보자. 내 블로그에 접속 > 첫번째 글 댓글 영역 클릭 > 댓글 입력 박스에 텍스트 입력 > 댓글등록 버튼 탭. 이 스텝을 5번 수행한다. 








2016년 4월 19일 화요일

selenium IDE로 할 수 있는 것 - 설치 및 간단한 스크립트 작성


환경: MAC OS X El Capitan
브라우저: FireFox 45.0.2
Selenium IDE: 2.9.1

1. 파폭 브라우저로 여기 접속하여 Add to FireFox 클릭

2. 설치하기 > 다시시작 누르면 설치 끝



3. 파폭 브라우저 도구메뉴 혹은 브라우저 우측에 Selenium IDE가 노출된다.

4. Selenium IDE 버튼 클릭하면 IDE 창 노출된다. (혹은 shift + control + s 누르면 사이드바로 열린다.)

5. 네이버블로그 내 블로그로 이동하고 카테고리를 차례로 클릭하는 스크립트를 짜보자. (동영상)










2016년 3월 12일 토요일

Ubunto에 appium & Genymotion 설치

환경:

* Ubunto 14.04 LTS
* appium 1.4.16
* Genymotion 2.6 

Step: 

1. appium 설치 
  • nodejs 설치
    ㄴ https://nodejs.org/에서 다운로드 후 압축 풀기
    ㄴ apt-get install vim으로 업그레이드 필요
    ㄴ root 계정으로 vi /etc/profile에서 path추가
    export PATH=$PATH:/home/june/node-v4.3……/bin
  • appium 설치
    ㄴ npm install -g appium
2. jdk 설치
  • oracle.com에서 OS에 맞는 jdk 다운로드
    ㄴ http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    ㄴ 환경변수 설정
    export JAVA_HOME=자바경로
    export PATA=$PATH:$JAVA_HOME/bin
3. Android SDK설치 
  • ANDROID SDK설치
    ㄴ http://developer.android.com/intl/ko/sdk/index.html#Other
    ㄴ 환경변수 설정
    export ANDROID_HOME=SDK경로
    export PATA=$PATH:$ANDROID_HOME/tools
    export PATA=$PATH:$ANDROID_HOME/platform-tools

4. 터미널에서 appium-doctor 실행하여 이상 없는지 확인 
5. VirtualBox 설치
  • Ubunto 소프트웨어 센터에서 설치
6. Genymotion 설치
  • https://www.genymotion.com/pricing-and-licensing/ 에서 다운로드 (로그인 필요)
  • 다운받은 **.bin 파일에 권한 부여 후 설치 및 실행ㄴ 권한부여: 터미널에서 chmod +x **.bin
    ㄴ 설치: 터미널에서 ./**.bin하여 설치ㄴ 실행: 설치된 Genymotion 폴더 내 Genymotion 더블 클릭하여 실행 
  • Genymotion 설치 ㄴ setting 메뉴에서 Android SDK 경로 설정ㄴ 로그인 및 가상 단말기 다운




2015년 7월 19일 일요일

Selenium Grid for appium 사용해 멀티 디바이스 컨트롤.

selenium grid를 사용해 appium으로 두개 단말기 컨트롤 해봤다.

사용환경:
1.  리얼 단말기, 제니모션 에뮬레이터
2. MAC OS X 10.10.4
3. Eclipse, java, appium, testNG

SetUp:
Selenium Grid를 사용하기 위해서 hub, node를 먼저 설정해줘야 한다. 먼저 hub 설정.
1. 터미털에서
java -jar "selenium server 경로" -role hub
을 입력하고 엔터치면 아래처럼 hub가 설정된다.
ㄴ 다음은 브라우저 창에서 localhost:4444를 입력해 확인, 아래 화면이 나오면 성공
2. node 설정.
ㄴ nodeconfig 파일 작성. 텍스트편집기로 nodecofig에 필요한 정보 입력 후 json파일로 저장. 아래 이미지처럼 capabilities, configuration 을 작성하면 된다. capa의 browserName, Version, Platform은 해당 단말기의 상세 정보를 써주면 된다. configuragion에서 url, port를 정확하게 입력하면 된다. port는 겹치면 안되고, json 파일은 단말기 개수만큼 만들어 준다.
ㄴ 위 json파일로 appium node server 실행할 수 있다. 터미널에서
appium -p 4724 -bp 4714 --nodeconfig "json파일 경로"
입력 후 엔터치면 server가 실행된다. 동일한 방법으로 단말기 개수만큼 node server를 실행해주면 된다.
(-p는 port로 json파일의 port와 동일해야 하고, -bp는 bootstrap의 약자로 appium 실행 시 필요한 port이므로 역시 중복되면 안된다.)

ㄴ 연결된 server개수 만큼 브라우저에 표시되면 성공.
3. script 작성
ㄴ 1) testNG: 단말기 정보를 parameter로 저장


ㄴ java: 단말기 개수에 맞게 capabilities 작성(udid, devicesName은 필수 입력)

ㄴ 마지막으로 beforeClass에 appium드라이버 인스턴스를 만든 후 hub url을 호출하면 끝.

public AndroidDriver driver = null
driver = new AndroidDriver(new URL("http://localhost:4444/wd/hub"), capability);
PS: public AndroidDriver driver = null; 를 만들 때 static을 추가하면 여러개 단말기 컨트롤이 제대로 되지 않으니 static은 빼줘야 한다.)

2015년 1월 8일 목요일

install appium for MAC


  1. Mac OS 패키지 관리자 brew 설치:
    터미널에서 아래 주소 입력
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


  2. ruturn키 클릭


  3. 컴퓨터 비밀번호 입력
  4. xcode-select 설치 얼럿 창이 떠서 설치
  5. 자동으로 brew가 설치된다.
  6. node 설치 (npm으로 appium을 설치하려면 node 설치 필요)
    테미널에서 brew install node 입력

  7. appium 설치: npm install -g appium
  8. wd 설치(webdriver 뭐라고 하는데 뭔지 모르겠다.): npm install wd
  9. appium-doctor로 확인하니 필요한 환경이 모두 설치됐다. (애피움 1.5.0부터는 appium-doctor를 별도로 설치해야 한다. npm install -g appium-doctor)
  10. 마지막으로 appium 실행해보니 잘 돌아간다.

2015년 1월 7일 수요일

【已解决】Remote Debugging on Android with Chrome,在chrome调试android浏览器以及inapp。

前段时间发现了很有趣的chrome功能,Remote Debugging on Android with Chrome

在app自动化测试的时候,调试Android web browser和inapp(webview)是很重要的。特别是webview。Android web browser可以用PC browser + user agent轻易调试。但是webview就很麻烦了。
现在好了,有了Remote Debugging on Android with Chrome这个PC版chrome功能就很容易调试webview了。


  1. USB连接真机或启动emulator。
  2. 在PC版chrome,点汉堡按钮 》更多工具 》检查设备可以打开DevTools页面。也可以如下方法打开。
    * 在chrome one box里输入chrome://inspect
    * 下载chrome 扩展程序ADB plugin。 
  3. 在页面点击Discover USB devices的check box即可连接设备。
  4. 在设备打开chrome或者hybrid应用会在此页面显示。(但是有很多hybrid应用在真机上运行的时候无法显示webview。模拟器上启动就可正常。不知道为什么。)
  5. list显示出来后可以点inspect来打开调试窗口。可以点击窗口右侧的手机图标来显示设备的模拟画面。酷~~!
至于为什么在真机上无法显示webview问题,以后慢慢再研究。
(已解决,我笨到家了,用play store上的app来测试,当然不行了。
用开发人员build的app来测试就没问题。)