跳过内容

MASTG-TEST-0006:确定文本输入字段是否禁用键盘缓存

已弃用测试

此测试已**弃用**,不应再使用。**原因**:MASTG V2 中提供新版本

请查看以下涵盖此 v1 测试的 MASTG v2 测试

概述

静态分析

在 Activity 的布局定义中,您可以定义具有 XML 属性的 TextViews。 如果 XML 属性 android:inputType 的值为 textNoSuggestions,则在选择输入字段时不会显示键盘缓存。 用户将必须手动输入所有内容。

   <EditText
        android:id="@+id/KeyBoardCache"
        android:inputType="textNoSuggestions" />

所有接收敏感信息的输入字段的代码都应包含此 XML 属性,以禁用键盘建议

或者,开发人员可以使用以下常量

XML android:inputType 代码 InputType API 级别
textPassword TYPE_TEXT_VARIATION_PASSWORD 3
textVisiblePassword TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 3
numberPassword TYPE_NUMBER_VARIATION_PASSWORD 11
textWebPassword TYPE_TEXT_VARIATION_WEB_PASSWORD 11

检查应用程序代码以验证是否没有输入类型被覆盖。 例如,通过执行 findViewById(R.id.KeyBoardCache).setInputType(InputType.TYPE_CLASS_TEXT),输入字段 KeyBoardCache 的输入类型被设置为 text,重新启用键盘缓存。

最后,检查 Android Manifest 中的最低要求 SDK 版本(android:minSdkVersion),因为它必须支持使用的常量(例如,textWebPassword 需要 Android SDK 版本 11)。 否则,编译后的应用程序将不会遵守使用的输入类型常量,从而允许键盘缓存。

动态分析

启动应用程序并单击接收敏感数据的输入字段。 如果建议字符串,则表示这些字段未禁用键盘缓存。