2012-10-31 2 views
0

사람들이 타임 아웃 사용법을 이해하도록 도와줍니다. 그들은 또한 몇 가지 코드 제공UIAutomation timeouts usage

popTimeout- Retrieves the previous timeout value from a stack, restores it as the current timeout value, and returns it.

pushTimeout - Stores the current timeout value on a stack and sets a new timeout value.

: 문서는 그들에 대한 단어의 꽤 몇 제공

target = UIATarget.localTarget(); 

target.pushTimeout(2); 
    // attempt element access 
target.popTimeout(); 

을하지만 정확히 사용하는 방법을 이해하는 방법과하지 않습니다 그들. anybode가 예제를 줄 수 있습니까?

답변

1

자동화 테스트 중에 일부 요소가 바로 표시되지 않을 수 있습니다. 따라서 악기는 요청 된 요소를 기다리는 데 시간 초과 (기본값은 5 초)를 사용합니다. 그들은 이것을 유예 기간이라고 부릅니다.

경우에 따라 기본 유예 기간이 필요할 수없는 경우가 있으므로 시간 제한을 더 짧거나 더 긴 값으로 변경할 수 있습니다. pushTimeout 및 popTimeout을 사용하면 이전 유예 기간을 기억할 필요없이 이전 유예 기간이 popTimeout을 호출 한 후에 복원됩니다.

: 예를 들어

은 :이 경우 내 시험 중 하나에, 나는이 활성화 될 수있는 팝 오버를 기다릴 싶지 않아,하지만 난 그냥 팝 오버 활성화가 있는지 알고 싶어하고이를 기각

target.pushTimeout(0.0); 

if (target.isDeviceiPad() && ! isNull(popOver= app.mainWindow().popover())) 
{ 
    UIALogger.logDebug(" dismiss popup by tapping somewhere"); 
    popOver.dismiss(); 
    target.delay(0.2); 
} 
target.popTimeout(); 

사실, isNull()은 내가 작성한 사용자 정의 함수이지만, 실제로 무슨 일이 벌어지고 있는지 이해하고있을 것입니다.

+0

답변 해 주셔서 감사합니다. 그래서 pushTimeout을 사용하여 새로운 타임 아웃을 설정하고 popTimeout을 사용하여 이전 타임 아웃 값을 복원 하시겠습니까? – Stas

+0

예, 그게 전부입니다. – Jelle