반응형

Appium을 통하여 Mobile Web을 실행할 때, 코드 몇줄의 실행이면 끝입니다.

 

desired capabilities라는 JSON 객체 설정하는 방법은 이전 포스팅에서 정리를 하였습니다.

 

코드를 간단하게 살펴보면, 

 

XXX Android 버전 11 디바이스의 크롬 브라우저를 사용하는 것을 desired_caps에 정의 합니다.

Senium Webdriver를 활용해 Remote 하는 주소인 http://127.0.0.1:4723/wd/hub 즉, Appium 서버 주소를 입력하여 줍니다.

그리고 네이버 주소를 들어가고, driver 종료를 해라라는 뜻입니다.

from appium import webdriver

desired_caps = dict(
    deviceName= 'XXX',
    platformName='Android',
    platformVersion='11',
    browerName='chrome'
)

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.get("https://www.naver.com/")

driver.quit()

 

반응형

'software testing > appium' 카테고리의 다른 글

Appium DesiredCapabilities 설정 방법  (0) 2023.01.26
Appium 설치 - Appium  (0) 2022.03.14
Appium 설치 - Node.js  (0) 2022.03.12
Appium 설치 - Android SDK  (0) 2022.03.11
Appium 설치 - JDK (Window Version)  (0) 2022.03.10
반응형

테스트 자동화 연습을 하기 위해서 앱이 필요하다 싶으면 apkpure라는 사이트에서 APK 파일을 다운 받아서 사용하실 수 있습니다.

 

다만, APK파일이다보니 Android에서만 사용이 가능합니다.

 

반응형

'software testing' 카테고리의 다른 글

2022년 소프트웨어 테스팅 트렌드  (0) 2022.02.26
Jenkins 설치 및 설정  (0) 2016.08.22
정적 테스트와 동적 테스트  (0) 2016.02.20
리그레션 테스트  (0) 2016.01.04
What is testware? | 테스트웨어란?  (0) 2015.12.29
반응형

 

Appium 테스트 드라이버에게 내 단말 및 환경 세팅을 알려주기 위해 desired capabilities라는 JSON 객체를 사용합니다. 

 

desired capability는 Appium 에 단말(Android/iOS) 정보 및 앱 정보를 입력해줘야 합니다.

 

* desired capability 파라미터 

- platformName : 사용할 모바일 OS 

- platformVersion : 사용할 모바일 플랫폼 버전

- deviceName : 사용할 모바일 단말 이름 (adb devices > adb 연결된 장치 이름) 

- appActivity : 패키지에서 최초 실행할 앱 액티비티 (ex. .DialtactsActivity)

- app : Appium 기동할 앱의 위치

- appPackage : 패키지명 (ex. com.samsung.android.dialer)

- browerName : 브라우저 이름

 

사용방법 :

desired_caps = dict(
    deviceName='Galaxy S21',
    platformName='Android',
    browerName='chrome'
)

 

보다 자세한 설명은 공식 홈페이지에서 확인하실 수 있습니다.

참고 URL : https://appium.io/docs/en/writing-running-appium/caps/

반응형

'software testing > appium' 카테고리의 다른 글

기초 - Mobile Web 실행  (0) 2023.01.30
Appium 설치 - Appium  (0) 2022.03.14
Appium 설치 - Node.js  (0) 2022.03.12
Appium 설치 - Android SDK  (0) 2022.03.11
Appium 설치 - JDK (Window Version)  (0) 2022.03.10
반응형

설치 프로그램 목록

Appium을 기동하기 위해서는 아래와 같이 4가지 프로그램 설치가 필요합니다. 

1) JDK(Java Development Kit)
2) Android SDK
3) Node.js
4) Appium

 

1) Appium 설치 

1.Appium 사이트에 들어가서 Appium을 다운로드하여 설치합니다.

(2022년 2월 1일 현재 1.22.0 버전이 최신버전입니다.)

 

Appium: Mobile App Automation Made Awesome.

Appium Philosophy Appium is built on the idea that testing native apps shouldn't require including an SDK or recompiling your app. And that you should be able to use your preferred test practices, frameworks, and tools. Appium is an open source project and

appium.io

 

 
2) Appium 설정
[Edit Configurations] 버튼을 클릭합니다.
 
 

아래와 같이 ANDROID_HOME 과 JAVA_HOME이 나오는지 확인 후 [Save and Restart] 버튼을 클릭합니다.

(만약 설정이 안되어 있을 경우, 환경 변수 설정에서 설정했던 것과 동일하게 입력합니다.)
 

 

이렇게 appium 과정은 끝났습니다~!

반응형

'software testing > appium' 카테고리의 다른 글

기초 - Mobile Web 실행  (0) 2023.01.30
Appium DesiredCapabilities 설정 방법  (0) 2023.01.26
Appium 설치 - Node.js  (0) 2022.03.12
Appium 설치 - Android SDK  (0) 2022.03.11
Appium 설치 - JDK (Window Version)  (0) 2022.03.10
반응형

설치 프로그램 목록

Appium을 기동하기 위해서는 아래와 같이 4가지 프로그램 설치가 필요합니다. 

1) JDK(Java Development Kit)
2) Android SDK
3) Node.js
4) Appium

 

1) Node.js 설치 

1. Node.js에서 최신 Node.js를 다운로드하여 설치합니다.

 

 

다운로드 | Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

2. 환경변수 설정

윈도우키를 누르고 "시스템 환경 변수 편집" 을 입력하고 실행합니다.

[환경 변수] 버튼을 클릭합니다.

 

[새로 만들기] 버튼을 클릭합니다.

 

시스템 변수(S) 를 하기와 같이 입력 후 [확인] 버튼을 클릭합니다.

변수 이름 : NODE_HOME

변수 값 : C:\Program Files\nodejs

 

시스템 변수(S)의 Path 를 클릭합니다.

[새로 만들기(N)] 버튼을 클릭합니다.

%NODE_HOME% 를 입력합니다.

[새로 만들기(N)] 버튼을 클릭합니다.

%NODE_HOME%\node_modules\npm\bin 를 입력합니다.

[확인] 버튼을 클릭합니다.

반응형
반응형

설치 프로그램 목록

Appium을 기동하기 위해서는 아래와 같이 4가지 프로그램 설치가 필요합니다. 

1) JDK(Java Development Kit)
2) Android SDK
3) Node.js
4) Appium

 

1) Android Studio 설치 

Android Studio에서 Anroid Studio 를 다운 받아서 설치합니다.

 

 

 

2) Android SDK 설치 

Android Studio 설치가 완료되면 환경 변수 설정이 필요합니다.

 

윈도우키를 누르고 "시스템 환경 변수 편집" 입력 실행합니다.

시스템 속성 > 환경 변수로 들어가서 [새로 만들기] 버튼을 클릭합니다.

새 시스템 변수에 하기와 같이 입력하고 [확인] 버튼을 클릭합니다.

 

변수 이름 : ANDROID_HOME

변수 값 : C:\Users\{컴퓨터 로그인이름}\AppData\Local\Android\Sdk

 

 

환경 변수 편집에서 하기와 같이 입력합니다.

 

[새로 만들기(N)] 버튼을 클릭

%ANDROID_HOME%\platform-tools 입력

[새로 만들기(N)] 버튼을 클릭

%ANDROID_HOME%\tools 입력

[새로 만들기(N)] 버튼을 클릭

%ANDROID_HOME%\tools\bin

[확인] 버튼을 클릭

 

cmd창을 열고, adb를 입력 후 엔터를 치면 하기와 같이 나옵니다.

 

반응형
반응형

설치 프로그램 목록

Appium을 기동하기 위해서는 아래와 같이 4가지 프로그램 설치가 필요합니다. 

1) JDK(Java Development Kit)
2) Android SDK
3) Node.js
4) Appium

 

1) JDK 설치 

   

   1. Oracle의 홈페이지에 가서 JDK 를 다운로드하여 설치합니다. (JDK 다운을 위해서 오라클 회원가입이 필요합니다.)

      링크 : Java Downloads | Oracle

 

 2. 왼쪽 하단의 윈도우 버튼을 클릭하여 "고급" 이라는 단어를 입력하여 "고급 시스템 설정 보기" 를 클릭합니다.

   3. 고급 탭에서 맨 아래에 시스템 환경변수를 클릭합니다.

 

   4. 새로 만들기 버튼을 클릭하여 뜨는 팝업 창에 하기와 같이 입력하고 확인 버튼을 클릭합니다.

      참고로 변수 값은 설치하는 버전에 따라 다를 수 있으니, C:\Program Files\Java\ 경로를 들어가서

      버전을 입력하시면 됩니다.

     

      변수 이름 : JAVA_HOME

      변수 값 : C:\Program Files\Java\jdk-12.0.1 

       

   5. 시스템 변수의 Path 를 더블 클릭합니다.

      6. 새로 만들기 버튼을 클릭하여 하기와 같이 입력하고 확인 버튼을 클릭합니다.

         

         %JAVA_HOME%\bin

 

   7. 왼쪽 하단의 윈도우 버튼을 클릭하여 cmd 를 입력하여 "명령 프롬프트" 를 클릭합니다.

   8. CMD창에 java -version 을 입력하고 엔터를 쳐서 아래와 같이 자바 버전이 나오면 설치 및 환경 변수 설정 완료입니다. 

 

 

반응형
반응형

appium을 사용하기 위한 환경 설정을 하고 난 후, appium inspector 를 통하여 또는 테스트 스크립트를 실행하여 앱 호출을 했을 때 앱 실행 후 아래와 같은 메시지가 보이며 바로 종료되는 현상이 발생할 때가 있습니다. 

 

Could not proxy command to remote server. Original error: Error: read ECONNRESET

 

이런 경우, 해결 방법은 아래와 같습니다.

 

1. appium server 종료

2. 터미널에서 adb devices 를 통하여 정상적으로 디바이스가 연결되었는지 확인

3. 터미널에서 아래와 같은 명령어 입력

adb uninstall io.appium.uiautomator2.server
adb uninstall io.appium.uiautomator2.server.test

4. appium server 시작

5. appium inspector 또는 테스트 스크립트 실행

반응형

'software testing > appium' 카테고리의 다른 글

Appium 설치 - Appium  (0) 2022.03.14
Appium 설치 - Node.js  (0) 2022.03.12
Appium 설치 - Android SDK  (0) 2022.03.11
Appium 설치 - JDK (Window Version)  (0) 2022.03.10
Appium 이란?  (0) 2022.03.01
반응형

이전 포스팅에서는 Locator의 종류를 설명했습니다.

 

이번 시간에는 Locator 사용방법을 설명드리겠습니다.

 

Selenium WebDriver에서 요소 찾기는 Selenium WebDriver 및 WebElement 클래스에서 제공하는 findElement() 및 findElements() 메서드를 사용하여 수행됩니다.

 

1. findElement() 메소드는 한개의 Web Element(웹요소) 를 동작하는데 사용합니다.  

    예 : driver.findElement(By.LocatorStrategy(“Locator Value”)

 

2. findElements() 메소드는 웹 페이지내의 Web Elements(웹요소들)을 동작하는데 사용합니다. 이 메소드는 목록 인터페이스를 통해 WebElement(웹요소) 목록을 반환하며, 이를 반복하고 작업을 수행할 수 있습니다.

 

    예 : List <WebElement> elementname = driver.findElements(By.Locator(“Locator Value”))

 

ID: ID 로케이터는 id 속성 값으로 WebElement를 찾는 데 사용됩니다. 대부분의 ID는 WebElement(웹요소)에 대해 고유합니다. 여기서 id 속성의 값을 매개변수로 전달해야 합니다.

 

사용방법 : driver.findElement(By.id(“element id”))

예 : driver.findElement(By.id(“nav-search-submit-button”))

 

Name: Name 로케이터는 이름 속성 값으로 WebElement를 식별하는 데 사용됩니다. 동일한 이름 로케이터를 가진 여러 요소가 있는 경우 페이지의 첫 번째 요소가 선택됩니다.

 

사용방법 : driver.findElement(By.name(“element name”))

예 : driver.findElement(By.name(“email”))

 

ClassName: ClassName 로케이터는 class 속성 값으로 WebElement를 식별하는데 사용합니다.

 

사용방법 : driver.findElement(By.className (“element class”))

예 : driver.findElement(By.className(“a-button-inner”))

 

 

 

TagName: TagName 로케이터는 findElements() 메소드와 함께 웹페이지에서 유사한 여러 항목을 식별하는 데 사용됩니다. HTML 태그의 도움으로 WebElements를 찾는 데 사용됩니다.

 

사용방법 : driver.findElement (By.tagName (“HTML tag name”));

예 : List<WebElement> lists=driver.findElements(By.tagName(“a”))

 

Link Text: 링크 텍스트는 정확한 텍스트로 요소를 식별하는 데 사용됩니다.

 

사용방법 : driver.findElement(By.linkText (“linktext”))

예 : driver.findElement(By.linkText(“Today's Deals”))

 

 

PartialLinkText: 이 방법은 링크 텍스트의 일부가 포함된 요소를 찾는 데 도움이 됩니다. (linkText는 텍스트 전부, PartialLinkText는 일부라고 생각하시면 됩니다.)

 

사용방법: driver.findElement(By.partialLinkText (“partiallinktext”))

예 : driver.findElement(By. partialLinkText (“Service”))

 

Xpath: XPath는 XML 경로 언어를 나타내며, 페이지의 HTML 구조를 탐색하는 데 사용됩니다. 또한 HTML DOM 구조를 사용하여 웹 페이지에서 요소의 위치를 ​​찾기 위해 HTML 및 XML 문서 모두에 사용할 수 있습니다.

 

사용방법 : driver.findElement(By.xpath (<xpath>))

예: driver.findElement(By.xpath("//input[@id='twotabsearchtextbox']")

 

CSS Selector(CSS stands for Cascading Style Sheet): CSS 선택기는 요소 선택기와 웹 페이지 내에서 웹 요소를 식별하는 값의 조합입니다. HTML 태그, 속성, ID 및 클래스의 문자열 표현입니다.

사용방법 : driver.findElement(By.cssSelector(“css selector”))

예 : driver.findElement(By.cssSelector(“#twotabsearchtextboxl”))

 
 

 

참조:

 

다음 시간에는 위 Locators 중 많이 사용되는 것들로 예제를 만들어서 동작시켜보도록 해보겠습니다.

반응형
반응형

Locator 란?

 

웹 페이지 내에서 웹 요소를 고유하게 식별할 수 있는 주소라고 할 수 있습니다. Locator는 작업을 수행하는데 필요한 웹 요소에 대해 Selenium에 알려주는 웹 요소의 HTML 속성입니다. 

쉽게 설명하자면 이렇습니다.

 

온라인으로 물건을 구매한다고 가정을 하겠습니다. 열심히 온라인으로 구매할 물건을 검색하여 최저가의 물건을 찾았고, 배송지를 입력하고 결제를 합니다. 

 

내가 살 물건은 어떤 행위를 해야할 대상입니다. 해당 대상을 찾았으면 배송지가 어디인지를 입력해야 하는데 그 배송지는 Locator라고 볼 수 있습니다. 해당 Locator 를 찾으면 결제 즉, 행동입니다. 그 행동은 클릭이 될 수 있고 글을 입력할 수 있는 것 등이 될 수 있습니다.

 

그러면 Locator는 종류가 무엇이고 어떻게 찾을 수 있을까요?

 

Locator의 종류는 아래와 같습니다.

- ID

- ClassName

- Name

- LinkText

- Xpath

-CSS Selector

 

다양한 Locator 들 가운데 일반적으로 가장 많이 사용되는 경우는 Xpath와 CSS Selector 입니다. (그 외에도 많이 사용합니다.)

 

Locator 를 찾는 방법을 알려드리겠습니다.

 

- 웹 브라우저(chrome)를 열어 놓습니다. (ex. google)

- F12 를 눌러서 개발자도구를 엽니다.

    1. 웹 요소를 식별하기 위해 검사 아이콘을 클릭합니다.

    2. 검사할 대상(요소)을 클릭합니다.

    3. 요소를 기록해둡니다. (ex. CLASS, ID..)

 

이와 같은 방법을 통하여 요소를 찾을 수 있습니다. 다음 시간에는 Locator 들을 하나씩 사용하는 예시를 알려드리겠습니다.

반응형

+ Recent posts