首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIAutomation超时用法

UIAutomation超时用法
EN

Stack Overflow用户
提问于 2012-10-31 20:04:52
回答 1查看 905关注 0票数 0

大家帮我了解一下超时的用法。文档中给出了相当多的关于它们的话:

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.

它们还提供了一些代码:

代码语言:javascript
复制
target = UIATarget.localTarget();

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

但我不是很清楚该如何以及何时使用它们。有没有人能举个例子?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-23 20:31:30

在自动化测试期间,某些元素可能不会立即变得可见。因此,仪器使用超时(默认为5秒)来等待请求的元素。他们称之为宽限期。

有时,默认宽限期可能不是您需要的,因此您可以将超时值更改为更短或更长的值。使用pushTimeout和popTimeout可确保在调用popTimeout之后恢复先前的宽限期,而无需记住先前的宽限期。

例如:在我的一个测试中,我不想等待弹出窗口变为活动状态,但我只想知道是否有活动的弹出窗口,如果有,则忽略它:

代码语言:javascript
复制
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()是我创建的一个自定义函数,但是您可能知道是怎么回事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13157542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档