I used the below code to checked and unchecked on Switch component of Android. How to checked-unchecked on Switch by touch utility in Android Junit Testing?
// wait 2 seconds for the start of the activity
final FinalizeCalibrationActivity finalActivity = (FinalizeCalibrationActivity) monitorFinalActivity
.waitForActivityWithTimeout(2000);
assertNotNull("FinalizeCalibrationActivity is null", finalActivity);
final Switch swtSignedRdwPortal = (Switch) finalActivity
.findViewById(R.id.swt_signed_rdw_portal);
JunitUtils.waitTime(3);
swtSignedRdwPortal.setChecked(false);
JunitUtils.waitTime(3);
swtSignedRdwPortal.setChecked(true);
We cannot used Switch view directly. It will throw failed assertions like: "android-only-the-original-thread-that-created-a-view-hierarchy-can-touch-its-views".
I've used rewrite the code like this,
This is working fine for me in Android Junit Test.!!!