【问题标题】:Need help automate iPhone keyboard input throught javascript需要帮助通过 javascript 自动化 iPhone 键盘输入
【发布时间】:2011-02-01 07:03:34
【问题描述】:

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

我在撰写邮件页面中,我需要在 TO、CC 和 BCC 字段中输入电子邮件 ID。我将焦点放在 TO 字段并显示键盘。 To field 是 UIATextField,但是在 textfield 中输入数据的通常方式是不输入数据。

我使用了以下代码

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

但对我没有好处:(

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

请帮我提供一个代码 sn-p。另外请让我知道如何将焦点从“TO”字段更改为“CC”,这是一个在另一个之下。

页面上的HeaderBody 按钮是segmentedControls。我无法使用代码 sn-p 来点击它们。

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

请帮帮我。

提前致谢 基兰

【问题讨论】:

  • 请修复标签。 visual-c++ 是用于在 Windows 上开发的 Microsoft 编译器,而不是 iPhone。你想要 iphone 标签。
  • 抱歉标记错误。我没有意识到它什么时候被标记的:)
  • 将值硬编码到页面中然后在发货时将其更改回来有什么问题?
  • 我什至无法在该字段中插入硬编码值。当我显示 logElementTree() 时,“TO”、“CC”字段被检测为 UIATextFields。但是 textFields()["TO"].setValue("abc@xyz.com") 仍然没有将数据输入到 to 字段。也不显示异常。
  • 大家好.. 我能够以编程方式实现按键敲击,因此 TO 字段填充了所需的电子邮件地址。

标签: javascript iphone


【解决方案1】:

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

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);

然后你坐下来,享受看着键盘为你打出一个美好的约会。

【讨论】:

    【解决方案2】:

    终于弄清楚如何自动敲击键盘

    这是对我有用的代码 sn-p

    //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);
    

    【讨论】:

      猜你喜欢
      • 2017-01-17
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2011-02-08
      • 2013-11-29
      • 2022-07-20
      • 1970-01-01
      • 2017-10-05
      相关资源
      最近更新 更多