如何访问Android应用的ActionBar?

时间:2013-12-13 19:41:13

标签: android adb uiautomator

作为我们的Android应用程序测试的一部分,我们需要访问ActionBar上的导航按钮。我没有在uiautomater或adb docs中找到任何可以访问它的方法。

6 个答案:

答案 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()