如何使用 Detox 在 Android 上的操作栏中点击三点菜单更多选项?

问题描述

如何使用 Detox 点击 Android 操作栏中的三点菜单(更多选项)?

enter image description here

解决方法

我遵循了这个 SO 答案,https://stackoverflow.com/a/65736139/3970346

由于这是一个 NativeScript 应用,所以步骤是,

在 app/App_Resources/Android/src/main/res/values 文件夹下创建一个 ids.xml 文件,

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="id" name="overflowActionButton"/>
</resources>

然后在同目录下的styles.xml中添加,

<style name="Widget.ActionButton.Overflow" parent="Widget.AppCompat.ActionButton.Overflow">
        <item name="android:id">@id/overflowActionButton</item>
        <item name="android:contentDescription">"overflowActionButton"</item>
        <item name="android:tint">@color/white</item>
</style>

最后像这样在AppThemeBase上设置样式,

<!-- theme to use AFTER launch screen is loaded-->
<style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>

        <item name="colorPrimary">@color/ns_primary</item>
        <item name="colorPrimaryDark">@color/ns_primaryDark</item>
        <item name="colorAccent">@color/ns_accent</item>
        
        <!-- the line below -->
        <item name="actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
</style>

在此之后,您可以像这样点击 Detox 中的溢出菜单,

await element(by.label('overflowActionButton')).tap();

感谢@Leri Gogsadze 为我指明了正确的方向