자동화테스트/appium2020. 3. 16. 08:00

Desired Capabilities

'Desired Capabilities'는 자동화 동안 서버의 동작을 수정하는 데 도움이 됩니다. 

Appium에서는 APPIUM 서버에 명령을 보내는 데 사용되는 일종의 해시 맵 또는 키-값 쌍입니다.

APPIUM에서 모든 클라이언트 명령은 세션 컨텍스트에서 실행 중입니다.

예를 들어 클라이언트는 JSON 객체를 포함하는 POST/세션 요청을 APPIUM 서버로 보냈습니다.

따라서, 원하는 요청을 보내거나 서버와의 원하는 세션을 유지하기 위해 일련의 키와 값 쌍이 사용됩니다.

이것을 'Desired Capabilities' 라고 합니다.

 

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
{
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
}

Desired Capabilities의 중요한 역할

  • 'DesiredCapabilities'는 사용자가 서버와의 세션 요청을 제어하는 ​​데 도움이됩니다.
  • 예를 들어 iOS 세션을 원한다면 Capability를 PlatformName = iOS로 설정할 수 있습니다. 또는 Android 세션을 원하면 Capability를 PlatformName = Android로 설정할 수 있습니다.
  • 'DesiredCapabilities'는 FirefoxDriver, ChromeDriver, InternetExplorerDriver 등과 같은 웹 드라이버 인스턴스를 설정하는 데 사용됩니다.
  • DesiredCapability는 Selenium Grid에 매우 유용합니다 . 예 : 다른 브라우저 및 다른 운영 체제에서 다른 테스트 사례에 액세스하는 데 사용됩니다. 언급 된 DesiredCapability Grid를 기반으로 허브는 해당 노드를 가리 킵니다. 여기서 이러한 노드는 'set'속성 방법을 사용하여 정의됩니다.
DesiredCapabilities obj = new DesiredCapabilities(); 
obj.setBrowserName("firefox"); 
obj.setVersion("18.0.1"); 
obj.setPlatform(org.openqa.selenium.Platform.WINDOWS);

DesiredCapabilities는 라이브러리 정의 패키지입니다. 'DesiredCapabilities'를 사용하기 전에 아래 언급 된 라이브러리에서 가져와야합니다.

Org.openqa.selenium.remote.DesiredCapabilities

APPIUM은 Android와 iOS를 모두 지원합니다. 따라서 별도의 Appium 서버 기능 세트가 있습니다.

아래 표는 일반적으로 사용되는 일부 Android 기능과 그 가치를 보여줍니다.

 

기능 설명 값/사용법
appPackage 사용자가 실행하려는 Android에서 원하는 Java 패키지를 호출하십시오. Value= com.example.myapp/

Obj.setCapability("appPackage", "com.whatsapp");

appActivity 사용자가 패키지에서 시작하려는 응용 프로그램 활동. Value = MainActivity, .Settings

Obj.setCapability ( "appActivity", "com.whatsapp.Main");

appWaitPackage 애플리케이션이 기다려야하는 패키지 Value = com.example.android.myapp
appWaitActivity 사용자가 대기 시간이 필요한 모든 Android 활동 Value = SplashActivity skills.setCapability

( "appWaitActivity", "com.example.game.SplashActivity")

기능기술가치 / 용도

참고 - 더 많은 Android 기능을 보려면 이 링크 ' https://appium.io/docs/en/writing-running-appium/caps/#android-only '를 참조하십시오

아래 표는 일반적으로 사용되는 iOS 기능과 사용 가치를 보여줍니다.

기능 설명
LaunchTimeout 계측을 기다리는 총 시간 (ms)입니다. 2000
UDID 연결된 물리적 장치의 고유 한 장치 번호를 식별 166aestu4

기능기술가치

참고 - 더 아이폰 OS의 기능을 볼 수있는 링크

http://appium.io/slate/en/master/?java#ios-only

패키지 및 액티비티 정보 추출

패키지는 번들 파일 또는 클래스와 관련이 있습니다. 모듈 식 프로그래밍에 체계적인 구조를 제공합니다. 

Java에서는 다른 패키지가 단일 Jar 파일에 저장됩니다. 

사용자는 jar 파일을 쉽게 호출하여 전체 실행을 수행 할 수 있습니다.

모바일 애플리케이션 개발 세계에서도 비슷한 개념이 이어졌습니다.

Android 운영 체제에서 모든 애플리케이션은 JAVA 패키지 형식으로 설치됩니다.

따라서 패키지 경로 정보를 추출하기 위해 Android PackageManager 클래스가 사용됩니다.

사전 및 사후 설치된 애플리케이션의 패키지 및 활동 정보를 검색합니다. Android 기기에 설치되어 있습니다.

getPackageManager()를 호출하여 PackageManager 클래스의 인스턴스를 얻을 수 있습니다.

이 방법은 설치된 응용 프로그램의 패키지 및 관련 권한에 액세스하고 조작 할 수 있습니다.

예를 들어

 

PackageManager pManager = getPackageManager (); 
List <ApplicationInfo> list = pManager.getInstalledApplications (PackageManager.GET_META_DATA)
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터