2014-10-21 8 views
2

Android 앱으로 Appium 테스트를 아직 배우고 있습니다. 나는 이것이 가능하면 궁금해.Appium을 사용하여 Android 앱 검정 테스트

A.apk을 가지고 있고 Android 기기에 A.apk을 설치 한 다음 앱을 실행하고 각 클릭 가능한 링크 (버튼, 도움말 링크, 이미지 링크 등)를 클릭하려고합니다. 어떤 것이 깨져 있는지 알아보십시오.

나는 A.apk의 소스 코드에 액세스 할 수 없지만 최대 100 개의 다른 Android 앱에 잠재적으로 그렇게해야 할 수 있으므로 각 링크를 수동으로 볼 때 매우 어렵습니다.

답변

1

짧은 대답은 예, 당신은 수 있습니다.
이러한 테스트를 작성하는 데 드는 양은 테스트가 얼마나 필요한지에 따라 다르지만 가장 복잡한 시나리오의 경우에도 응용 프로그램의 소스가 필요하지 않습니다.

다음은보다 정교한 답변입니다.

사용자가 볼 것으로 예상되는 UI 요소에만 의존하는 블랙 박스 테스트를 작성할 수 있습니다.
많은 경우에 클릭 가능한 개체를 텍스트로 표시하면 충분합니다. 자바

테스트 스냅 샷 :

// find your button by the text 
WebElement button = driver.findElement(By.name("my button")); 
button.click(); 
// you can then wait for the next screen to appear, scroll to element, etc. 

// then you verify that certain text is on screen 
WebElement title = driver.findElement(By.text("some Title")); 
assertNotNull(title); 

당신은 examplessome documentation을 참조 할 수 있습니다.

정교한 경우 텍스트를 사용하고 싶지 않거나 사용할 수없는 경우 클래스 (예 : Button, TextView, EditText), XPath 값, 화면의 고유 ID 문자열을 사용하여 특정 요소를 수동으로 식별해야 할 수 있습니다 .
appium inspector 또는 UI automator viewer으로 테스트중인 앱을 검사하여이 정보를 모두 얻을 수 있습니다 (테스트를 작성하기 전에 한 번만해야합니다).
다시 말하지만 .apk 파일을 제외하고는 아무 것도 필요하지 않습니다.

+0

감사 kiruwka!
ukutomatorviewer를 실행하지 않고도 apk를 완전히 검정 테스트 할 수 있습니까? 예를 들어 Appium을 사용하여 apk를 시작할 수 있습니다. 그런 다음 깊이 우선 검색을 사용하고 버튼, 텍스트 뷰,보기 등을 제외하고 각 클릭 가능한 WebElement를 따릅니다. – user908645

+0

@ user908645 분명히 그렇게 할 수 있습니다. 그러나 필자의 이해에 따르면 기능적 UI 테스트는 일반적으로 수동 사용자 테스트와 동일한 의미를 수행합니다. 사용자가 "Button1"을 클릭 한 후 - "그는 텍스트 'abc' 등으로 2 페이지를보아야합니다. – kiruwka

0

APK를 철저히 테스트하기 위해 소스 코드가 반드시 필요한 것은 아닙니다. Appium이 APK (src가 필요하지 않음)를 테스트 할 수있는 좋은 방법을 제공하므로 실제 장치로 테스트하는 것을 자동화하지 않으시겠습니까? 에뮬레이터는 불행히도 좋은 결과를 제공하지 않습니다 (OEM 사용자 정의, 실제 hw, 네트워크 등 없음)

+0

감사합니다. 정보에 대한 많은 erkz. 네, 제가 Appium을 선택하는 이유는 Appium이 소스 코드없이 APK의 검정 테스트에 사용될 수 있다는 것입니다. 그러나 모든 예제에서 findElements ... 호출을 통해 특정 WebElement를 찾기 위해 resource-id, text 등과 같은 일종의 식별자를 사용해야합니다. 우리가 xpath, resource-id, apk의 텍스트에 대한 지식이 없다면, 현재 페이지의 모든 클릭 가능한 링크/버튼을 반복 할 수있는 방법을 말해 보겠습니다. 하나의 활동에서 다른 활동으로 이동하는 방법에 대해 자세히 알아보십시오. 모든 샘플 코드가 도움이됩니다 – user908645