2013-11-20 2 views
0

처음에는 영어 실력에 대해 사과하고 싶습니다. 나는 하이브리드 안드로이드 응용 프로그램에 대한 자동화 된 테스트를 작성합니다. 이 응용 프로그램의 GUI는 HTML5/JS/CSS3 (angularJS 프레임 워크)로 작성되었습니다. 모든 데이터 형식을 테스트하고 싶습니다. 양식은 시작시 일부 데이터로 채워집니다 (서버에서 수신). 새 데이터를 입력하려면 현재 값을 지우고 새 값을 입력해야합니다. 새 텍스트를 입력하려면 다음을 사용하십시오.Robotium의 Android 애플리케이션에서 html5 입력 테스트

By element = By.cssSelector("..."); 
solo.waitForWebElement(element); 
solo.typeTextInWebElement(element, "foo", 0); 

그리고 잘 작동합니다. 데이터에 문제가 발생했습니다. (왜 몰라) 인덱스 매개 변수를 얻을 수

solo.clearTextInWebElement(item); 

이 방법은, 그것은 단지 지정된 요소를 잡을 수있는 "으로"개체를 사용하십시오 Robotium 문서에서 나는 방법을 발견했다. 코드를 다음과 같이 사용하기로 결정했습니다.

By item = By.cssSelector("input:nth-child(3)"); 
this.solo.waitForWebElement(item); 
this.solo.sleep(3000); 
this.solo.clearTextInWebElement(item); 

그래도 여전히 작동하지 않습니다. Robotium이 웹 입력을 테스트하는 방법을 모르겠습니다.

답변

1

웹 요소에 이름 또는 ID 특성이 있으면 By.id ("elementId") 또는 By.name ("elementName")을 사용하여 액세스 할 수 있습니다.

더 많은 샘플 코드, 특히 테스트하려는 요소의 html을 게시하면 질문을 쉽게 대답 할 수 있습니다.

+1

안녕하십니까, By.name과 By.id를 사용하려고했는데 작동하지 않았습니다. 내 버그를 발견했습니다 (HTML 코드에 나와 공유하지 않았습니다). angularJS에서 데이터 바인딩을 사용할 때 이름 속성 값에 {{}}을 (를) 추가하는 것을 잊어 버렸습니다. 이름 값이 올바르지 않아 작동하지 않는 이유입니다. – kam