2
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

4 回答 4

3

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

像,

sendKeys(56);

来自 Android 文档

public static final int KEYCODE_PERIOD

Key code constant: '.' key.
Constant Value: 56 (0x00000038)
于 2012-07-17T06:46:43.963 回答
2

“键序列是包含 KeyEvent 中指定的键名称的字符串,没有 KEYCODE_ 前缀。” (发送密钥文档)

因此,您可以在 sendKeys 字符串中使用 NUMPAD_DOT。

例如

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

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

于 2014-01-12T22:44:20.207 回答
1
sendKeys(56); // for special character "." (Dot)
于 2012-07-17T06:47:24.857 回答
0

您是否尝试过以下方法:

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

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

于 2014-04-29T13:43:57.803 回答