需要帮助通过javascript自动化iPhone键盘输入

时间:2011-02-01 07:03:35

标签: javascript iphone

我正在尝试通过JavaScript自动化iPHone UI测试。

我在撰写邮件页面,我需要在TO,CC&amp ;;中输入email-id。 BCC领域。我关注TO字段并显示键盘。字段是UIATextField,但是将数据输入文本字段的常用方法是不输入数据。

我使用了以下代码

var app = UIATarget.localTarget().frontMostApp(); 
app.keyboard().elements()["go"].tap();

但对我没有好处:(

我想通过显示的键盘输入电子邮件地址(abc@xyz.com)。

请帮我一个代码段。另请告诉我如何将焦点从“TO”字段更改为“CC”,它们是一个在另一个之下。

页面上的HeaderBody按钮为segmentedControls。我无法使用代码段来点击它们。

var app = UIATarget.localTarget().frontMostApp();
app.segmentedControls()[0].buttons()["Body"].tap();

请帮助我。

先谢谢 基兰

2 个答案:

答案 0 :(得分:0)

最后想出了如何自动键盘敲击

这是为我工作的代码片段

//Get the keyboard handle
var keyBoard=app.keyboard();

//Get the handle for keys
var keys = keyBoard.keys();

//Get the handle for buttons on the keyboard (Space, Enter, Shift etc)
var keyButtons = keyBoard.buttons();


//To type "hi"
//type "h"
keys.firstWithName("h").tap();

//insert a delay for the tap() action to be completed
target.delay(0.5);


keys.firstWithName("i").tap();

target.delay(0.5);

答案 1 :(得分:0)

我认为你可以做得更好一些并具有一定的可重用性。尝试定义这样的方法:

function typeCharacters(inputString) {
    for(var i in inputString) {
        target.frontMostApp().keyboard().typeString(inputString[i]);
    }
    target.frontMostApp().keyboard().typeString("\n");
}

对此的快速测试可能如下所示:

var timestamp = new Date().toString();
typeCharacters(timestamp);

然后你坐下来享受键盘输入的好日子。