sendKeys - 发送特殊字符

时间:2012-07-17 06:40:00

标签: android

addressBar = (AutoCompleteTextView) mActivity.findViewById(package.R.id.addressBar);
TouchUtils.tapView(this, addressBar);

sendKeys("1");  //Works
sendKeys("G M A I L");  // Works - Result would be "gmail"
sendKeys("G M A I L . C O M");  // Doesn't work
sendKeys("{.}");  // Doesn't work
sendKeys("gmail")  // Doesn't work

sendKeys("G M A I L {.} C O M")  //Doesn't work

我正在使用“InstrumentationTestCase2”编写android测试脚本。我实际上想发送密码 - “gmail.com”但是,无法发送特殊字符“。”(点)

4 个答案:

答案 0 :(得分:3)

对于'.'(句点或点),您可以尝试int等效值。

像,

sendKeys(56);

来自Android-Docs

public static final int KEYCODE_PERIOD

Key code constant: '.' key.
Constant Value: 56 (0x00000038)

答案 1 :(得分:2)

“键序列是一个字符串,包含KeyEvent中指定的键名,没有KEYCODE_前缀。” (sendKeys文档)

所以你可以在sendKeys字符串中使用NUMPAD_DOT。

e.g。

sendKeys("G M A I L NUMPAD_DOT C O M");

有关详细信息,请参阅:   (http://developer.android.com/reference/android/test/InstrumentationTestCase.html#sendKeys(java.lang.String)

答案 2 :(得分:1)

sendKeys(56); // for special character "." (Dot)

答案 3 :(得分:0)

您是否尝试过以下操作:

getInstrumentation().sendStringSync("Do.You@Love.IT???");

像魔法一样工作,让生活变得更简单!