1

请给出除solo.clickOnText() 之外的任何建议。它不起作用。

而且我也不想使用 enterText() ,因为这不是一个好的选择。

4

2 回答 2

2

[1] 在文本框中输入“a”

[2] 独奏.sendKey(97); // 这里 97 是字符“a”的 ascii 键码。

这里我代表一个很好的例子。

public void testAutomation_typetext()
{

    solo.clickOnEditText(0);
    ch_array = "ashtemp123@gmail.com".toCharArray();
    for(int i=0;i<ch_array.length;i++) 
    {
      solo.sendKey( fun_get_android_keycode(ch_array[i]) );
    }
}


  public int fun_get_android_keycode(char ch)
  {  
       int keycode = ch;//String.valueOf(ch).codePointAt(0);
       Log.v(TAG,"in fun : "+ch+" : "+keycode + "");

       if(keycode>=97 && keycode <=122)
       {
           Log.v(TAG,"atoz : "+ch+" : "+keycode + " : " + (keycode-68));
           return keycode-68;   
       }
       else if(keycode>=65 && keycode <=90)
       {
           Log.v(TAG,"atoz : "+ch+" : "+keycode + " : " + (keycode-36));
           return keycode-36;   
       }
       else if(keycode>=48 && keycode <=57)
       {
           Log.v(TAG,"0to9"+ch+" : "+keycode + " : " + (keycode-41));
           return keycode-41;   
       }
       else if(keycode==64)
       {
           Log.v(TAG,"@"+ch+" : "+keycode + " : " + "77");
           return KeyEvent.KEYCODE_AT;
       }
       else if(ch=='.')
       {
           Log.v(TAG,"DOT "+ch+" : "+keycode + " : " + "158");
           return KeyEvent.KEYCODE_PERIOD;
       }
       else if(ch==',')
       {
           Log.v(TAG,"comma "+ch+" : "+keycode + " : " + "55");
           return KeyEvent.KEYCODE_COMMA;
       }
       return 62;
}   

我希望这将有助于您最好的自动化测试用例。谢谢。

于 2012-09-30T04:52:06.543 回答
1

你暂时不能这样做。请参阅http://code.google.com/p/robotium/wiki/QuestionsAndAnswers并查找键盘。

于 2012-07-27T08:53:51.940 回答