作为我们的Android应用程序测试的一部分,我们需要访问ActionBar上的导航按钮。我没有在uiautomater或adb docs中找到任何可以访问它的方法。
答案 0 :(得分:1)
如果您不介意使用第三方库,可以尝试使用Robotium解决此问题以及更多问题。当我测试这个时,我使用solo.clickOnImage(0);
。这是我测试该按钮的可靠方式。此外,如果您想确保它转到正确的屏幕,您可以使用solo.waitForActivity(MyActivity.class,1000);
。
答案 1 :(得分:0)
我的英语不太了解您的问题,但对于actionBar
根据我的理解,
android:showAsAction
属性,用于确定应如何在ActionBar中显示
答案 2 :(得分:0)
如果您的测试类派生自InstrumentationTestCase,您可以按这样导航按钮
getInstrumentation().invokeMenuActionSync(activity, android.R.id.home, 0);
答案 3 :(得分:0)
尝试通过cmd使用“uiautomatorviewer”选项,找出是否可以在操作栏中查看要访问的该对象的任何文本或说明。
答案 4 :(得分:0)
你可以使用
mDevice = UiDevice.getInstance(getInstrumentation());
UiObject ActivateButton = mDevice.findObject(new UiSelector()
.text("Activate")); // Replace with the text on ur Action Button
if(ActivateButton.exists())
ActivateButton.click();
答案 5 :(得分:0)
import androidx.test.uiautomator.Until.findObject
import com.name.app.BuildConfig.APPLICATION_ID
private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
val logout = device.wait(findObject(By.res(APPLICATION_ID, "logout")), 500)
logout.click()