在我的Android应用程序中,我有一个播放按钮。手动点击按钮后,一切正常。但当我使用uiautomator触发按钮点击时,没有任何事情发生。调试之后,我很确定这是导致失败的字符串比较步骤(标记为卡在这里)。非常困惑为什么它表现不同。我确实看到按钮被双击(按钮颜色改变)。如果我使用button.getText()。toString(),两者都有效。 BTW,button.getText()返回CharSequence,而不是String对象。
我将res / values / 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();
}
}
});
答案 0 :(得分:-1)
您能否分享一下您尝试使用UiAutomator点击按钮的方式。下面的代码应该工作 UiObject buttonToClick = new UiObject(new UiSelector()。text(Play).className(“android.widget.Button”)); buttonToClick.clickAndWaitForNewWindow();