在android中使用uiAutomator Viewer时遇到问题。在我的应用程序中,第一个屏幕是包含电子邮件编辑文本的登录屏幕,用于记住凭据的复选框,密码编辑文本和登录按钮。当点击登录按钮时,包含json响应调用的函数,在第一个函数的成功json响应之后调用另一个json函数,然后在第二个json函数响应,第三个json函数然后激活intent。
但是这里发生了什么,它达到了功能,但不要调用功能,或者我们可以说没有进入功能。如需帮助,您可以查看我的LoginScreenActivity代码。我也尝试过增加时间,但不知道为什么它会像这样。请帮帮我
LoginScreenActivity.java
public void userLogin(String email,String password){
getFirstData();
}
public void getFirstData(){
code for json response
getSecondData();
}
public void getSecondData(){
code for json response
getThirdData();
}
public void getThirdData(){
code for json response
intent fire
}
LoginScreenActivityTest.java
public void setUp() throws Exception {
loginScre = new LoginScreenActivity();
mInstrumentation = getInstrumentation();
}
@Test
public void getIntValue() throws Exception {
device = UiDevice.getInstance(getInstrumentation());
device.pressHome();
device.wait(Until.hasObject(By.desc("Apps")), 3000);
// device.wait(Until.hasObject(By.desc("Apps")), 3000);
UiObject2 appsButton = device.findObject(By.desc("Apps"));
appsButton.click();
device.wait(Until.hasObject(By.desc("MyProject")), 3000);
UiObject2 calculatorApp = device.findObject(By.text("MyProject"));
calculatorApp.click();
// UiObject editText = new UiObject(new UiSelector().className("android.widget.EditText").instance(1));
UiObject editText = new UiObject(new UiSelector().resourceId("com.example.myproject:id/et_username"));
editText.setText("abc@gmail.com");
String emainEnter = editText.getText().toString();
UiObject psswrd = new UiObject(new UiSelector().resourceId("com.example.myproject:id/et_password"));
psswrd.click();
psswrd.setText("abc123$");
UiObject remember_me = new UiObject(new UiSelector().resourceId("com.example.myproject:id/remember_me"));
if (!remember_me.isSelected()) {
remember_me.click();
}
device.wait(Until.hasObject(By.text("Login")), 999000);
UiObject2 buttonlogin = device.findObject(By.text("Login"));
buttonlogin.click();
在这一行device.wait(Until.hasObject(By.text("Login")), 999000);
我也试过改变时间。但无法找到任何解决方案。请帮帮我