我試圖最後添加UI測試到我的Android應用程序,以增加覆蓋率(所有我的其他圖層都經過了適當的測試,因此我所有的錯誤現在都來自UI ...) 我開始使用ActivityInstrumentationTestCase2
作爲我的模擬器單元測試的基類,簡單的事情很容易檢查和工作很好。Android測試:如何檢查對話框是否顯示在屏幕上? (使用ActivityInstrumentationTestCase2)
但現在,我試圖檢查一個對話框出現的預期,我不知道該怎麼做。
我的測試:
public void testOpensAboutDialogWhenAboutButtonClicked() {
final MyActivity activity = getActivity();
final Instrumentation instrumentation = getInstrumentation();
final Button aboutButton = (Button) activity.findViewById(R.id.about);
TouchUtils.clickView(this, aboutButton);
// how to test for the AboutDialog?
}
現在我的對話框沒有一個id,因此使用findViewById我不能得到一個指向它。
final AlertDialog about = new AlertDialog.Builder(parent)
.setTitle(parent.getString(R.string.about_title))
.setCancelable(true)
.setIcon(R.drawable.skull)
....
任何想法,或指針教程: 已使用構建器類可用創造出來的?
編輯:要回答的Jens評論,我不使用管理對話框,只需創建AlertDialog,並將其顯示與.show()
您是否使用託管對話框? – Jens
@Jens,實際上我不是,我甚至都不知道他們......我只是讀了他們,這可能有助於解決我的問題......(這會教我跳過教程...... )今晚會試試。如果這樣做,請寫一個答案,以便我可以給你的賞金;) – Guillaume
我可以給你一個正確的答案btw。 – Jens