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)
'자동화테스트 > appium' 카테고리의 다른 글
앱피움(Appium) 인터뷰/면접 질문 및 답변 족보 (0) | 2020.03.19 |
---|---|
앱피움(appium) 메이븐(maven) 의존성(dependency)-Java 기반 프로젝트 관리 도구 (0) | 2020.03.18 |
Android Debug Bridge (ADB)를 사용하여 모바일 장치를 USB, WiFi로 연결 (0) | 2020.03.17 |
Android 및 iOS 모바일 앱 테스트를 위한 APPIUM 튜토리얼 (0) | 2020.03.13 |