2

UIAutomation用来测试我的 iPhone 应用程序。
我的应用程序有一个UISearchBar,在我使它集中之后,
这行脚本显示该应用程序现在有 2 UIAWindow

UIATarget.localTarget().frontMostApp().logElementTree();

第二个UIAWindowUIAKeyboard小时候。

在此处输入图像描述

你知道如何获得第二个的参考UIAWindow,所以我可以得到一个参考UIAKeyboard吗?

我试过了

UIATarget.localTarget().frontMostApp().mainwindow()[1].keyboard().key()["Q"].tap();

但它不起作用。

编辑 1:
我使用这条线来获取键盘的参考。有用。

UIATarget.localTarget().frontMostApp().windows()[1].logElementTree();

但是当我尝试用键盘输入一些东西时:

UIATarget.localTarget().frontMostApp().keyboard().typeString("Hello world");

或者

UIATarget.localTarget().frontMostApp().keyboard().keys()["A"].tap; 

但他们不工作。

你知道如何用键盘输入一些东西吗?


编辑:( 只是为了让你们知道如何使 UIAKeyboard 为您工作)


UIATarget.localTarget().frontMostApp().keyboard().keys()["A"].tap;
不起作用
UIATarget.localTarget().frontMostApp().keyboard().keys()["A"].tap();
作品


UIATarget.localTarget().frontMostApp().keyboard().typeString("这是一条消息");
作品

4

2 回答 2

2

您发布的最后两个代码片段应该可以工作,但它们仅在您的键盘打开时才有效(在屏幕上可见)。执行此操作的另一种方法是访问文本字段(您想在其中键入您要键入的任何内容),然后调用函数.setValue("Hello world").typeString("Hello world"). 这两个是 textField 对象的函数。希望这可以帮助。

于 2012-05-31T17:19:30.247 回答
0

在屏幕上使用键盘键入:

UIATarget.localTarget().frontMostApp().keyboard().typeString("This is a message");
于 2013-08-26T21:31:07.567 回答