2012-04-27 10 views
10

Robotium'da yeniyim. Iletişim oluşturucu kullanarak bir uyarı iletişim kutusu oluşturduk ve gösteri komutunu kullanarak çağırdım. Robotium'u kullanarak 'tamam' düğmesini tetikleyebildim ve 'iptal' düğmesi için aynısını yapamıyorum. İletişim kutusu bir kimlikle ilişkili olmadığından, düğmelerin kimliğini nasıl alacağımı bilmiyorum. İşte iletişim kutusundaBir uyarı iletişim kutusu için Robotium'a tıklamanız gereken düğme nasıl seçilir?

alertDialogBuilder 
.setMessage("Please enter only numbers without any spaces") 
.setCancelable(true) 
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int id) { 
dialog.cancel(); 
} 
}) 
.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int id) { 
dialog.cancel(); 
} 
}); 

benim kodudur ben Testi Class'ta 'Tamam' düğmesine tetiklemek için kullanılan kod nasıl 'iptal' düğmesi için aynı şeyi

solo.getCurrentActivity().runOnUiThread(new Runnable() { 
public void run() { 
solo.getCurrentActivity().getCurrentFocus().requestFocus(); 
} 
}); 
this.sendKeys(KeyEvent.KEYCODE_DPAD_CENTER); 

mı? Şimdiden teşekkürler.

cevap

9

Sadece solo.clickOnButton ("İptal") kullanın; Aslında

+0

ya. düzeltmişti. Teşekkürler Renas –

22

, ben 'Pozitif' tuşu android.R.id.button1, 'Negatif' butonu android.R.id.button2 ve 'Tarafsız' android.R.id.button3 olduğunu nerede olduğunu solo.clickOnView(solo.getView(buttonId)) yapmanızı öneririm.

+3

Bu benim için kabul edilen cevaptan çok daha güvenilir olduğunu kanıtladı. Teşekkürler. – Eoin

+2

Özel diyaloğumuz varsa ne olur? – DJhon