【问题标题】:Espresso - how to switch typeText to English or other languages input modeEspresso - 如何将 typeText 切换为英文或其他语言输入模式
【发布时间】:2016-04-03 07:10:10
【问题描述】:

我正在使用 Espresso 来实现我的应用程序的自动测试框架。但是在我设计的一些测试用例中,我发现我的测试总是失败,根本原因不在我对功能实现代码的测试代码中。根本原因是在android输入法模式下,有时候是中文输入法,而我输入的文字是英文,那么输入值就会失败。所以我想知道如何将当前的typeText输入法模式从中文切换到英文,或者如何在不手动配置的情况下确保输入法模式是英文? 我相信这是一个重要的要求,因为当我们在应用程序中支持多种语言时,我们需要此功能在测试期间自动切换到所需的语言。 以下是我的代码,如果默认输入方式是英文就没有问题。

    onView(withId(R.id.entryWordInput))
        .perform(typeText(entryWord), closeSoftKeyboard());
    onView(withId(R.id.OkButton))
        .perform(click());

提前致谢。

【问题讨论】:

  • 尝试替换文本

标签: android android-testing ui-testing android-espresso


【解决方案1】:

使用 Espresso 更改输入模式语言是不可能的。您需要将它与另一个名为 uiautomator 的 Google UI 测试框架一起使用。

请看我在类似测试问题上的回答:Espresso test for Notification to showing up

Espresso UI 测试框架只看到实际视图。我怀疑 说真的,您可以使用 Espresso 查看任何通知。

为此使用另一个谷歌测试框架uiautomator, 描述为:

UI Automator 是一个 UI 测试框架,适用于跨系统和已安装应用的跨应用功能 UI 测试。

您将在此处了解如何将其与 Espresso 搭配使用: http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html

更多信息:

还请访问: Android Testing: UIAutomator vs Espresso

因此,如果您想更改输入模式的语言,请尝试使用 uiautomator 更改 Android 系统偏好设置和 Espresso 进行应用测试。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 2015-09-26
    相关资源
    最近更新 更多