2014-01-10 3 views
0

텍스트 필드에 텍스트를 입력하기 전에 텍스트 필드가 확실하게 표시되는지 확인하려고합니다. 이 텍스트 필드에 계속 채워지는 상태 저장 문제가 있습니다. 그냥 쉽게 지울 수있는 쉬운 방법이 있다면 그것은 좋을 것입니다. 이 텍스트 필드 (작은 x)에는 명확한 버튼이 없습니다. 내가 볼 수있는 유일한 방법은이 텍스트 필드가 지워질 때까지 키보드를 사용하고 뒤로 버튼을 계속해서 누르는 것입니다. 즉, 텍스트 필드에서 텍스트를 추출하여 비어있는 시점을 알 수 있어야합니다. 어쨌든, 누구든지 키의 이름이 뒤로 버튼의 키보드에 무엇인지 알고 있습니까? "뒤로"및 "삭제"시도하고 모두 작동하지 않았다.UIAutomation을 사용하여 텍스트 필드를 지우는 방법

function typeNewUserNameAndGoNext() 
{ 
    target.frontMostApp().mainWindow().scrollViews()[0].scrollViews()[0].textFields()[0].tap(); 
    target.frontMostApp().keyboard().buttons()["delete"].tap(); //what goes in place of delete? 
    target.frontMostApp().keyboard().typeString("AutomatedTestUser"); 
    target.frontMostApp().mainWindow().scrollViews()[0].scrollViews()[0].buttons()[2].tap();  
} 

분명히 나는 ​​텍스트 필드가 지워질 때까지 루프로 다시 버튼을 누르십시오.

답변

0

Nevermind 레코더를 사용하여 알게되었습니다.

target.frontMostApp().keyboard().keys()["Delete"].touchAndHold(3.6); 

모든 것이 지워질 때까지 길게 누릅니다.

+1

touchAndHold가 적합하지 않을 수 있습니다 (시간은 성능에 따라 다릅니다). 텍스트 필드에서 텍스트의 길이를 가져 와서 여러 번 눌러줍니다. (텍스트가 너무 길지 않기를 바랍니다) – coder284

0

필자는 필드에 수동으로 값을 설정하여 빈 문자열로 지정하는 것을 선호합니다.

target.frontMostApp(). mainWindow(). textFields() [0] .setValue (""); // 이것은 항상 나를 위해 가장 잘 작동합니다.

이 단점은 필드를 직접 조작하지 않고 키보드를 뒤로 밀면 시뮬레이션하지 않는다는 것입니다.

해당 버튼을 시간의 정확한 수는 루프를 사용하여 조건 str.length을 만들 수 도청에 관심이 그러나 경우> 혹시 UIA가 뭔가를 볼 수 있습니다 방법을 결정해야 할 경우 0

인스 트루먼 트를 사용하고 천천히 물건을 클릭하는 데 유용합니다, 인스 트루먼 트는 키보드뿐만 아니라 명령을 표시합니다.