2013-09-10 90 views
0

在我的Android應用程序中,我有一個播放按鈕。手動點擊按鈕後,一切正常。但是當我使用uiautomator觸發按鈕點擊時,沒有任何事情發生。調試完成後,我非常肯定這是導致失敗的字符串比較步驟(標記爲「卡在這裏」)。非常困惑爲什麼它的行爲不同。我確實看到按鈕被雙擊(按鈕顏色改變)。如果我使用button.getText()。toString(),兩者都有效。順便說一句,button.getText()返回CharSequence,而不是String對象。腳本按鈕單擊行爲不像用戶單擊

我在res /價值/ strings.xml中定義我的字符串值

<string name="play">Play</string> 

Java代碼:

private final static String PLAY = "Play";   

//some code in between  

Button playButton = new Button(this); 
playButton.setText(R.string.play); 
playButton.setTextSize(BUTTON_FONT_SIZE); 
playButton.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     Button b = (Button) v; 
     if (b.getText().equals(PLAY)) { //stuck here.          
      startPlay(); 
     } else { 

      stopPlay(); 
     } 
    } 
}); 

回答

-1

能否請您分享您是如何嘗試使用UiAutomator單擊按鈕。下面的代碼應該可以工作 UiObject buttonToClick = new UiObject(new UiSelector().text(Play).className(「android.widget.Button」)); buttonToClick.clickAndWaitForNewWindow();

+0

我使用腳本來驅動UIAutomator中的命令。一切都是自動的。問題是手動點擊沒有問題。他們使用相同的代碼,但行爲不同。 – ericyoung