android – Espresso – 如何将typeText切换为英文或其他语言输入模式

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

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

提前致谢.

解决方法:

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

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

Espresso UI test framework doesn’t see more than actual View. I doubt
seriously that you can check any notification with Espresso.

For this purpose use another Googles testing framework uiautomator,
which is described as:

UI Automator is a UI testing framework suitable for cross-app functional UI testing across system and installed apps.

  
  在这里,您将找到如何与Espresso一起使用:
  http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html
  
  更多信息:
  
  
  >文件(I):https://google.github.io/android-testing-support-library/docs/uiautomator/index.html
  >文件(II):http://developer.android.com/intl/es/training/testing/ui-testing/uiautomator-testing.html
  
  
  访问还:
  Android Testing: UIAutomator vs Espresso

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

希望能帮助到你.

上一篇:android – Espresso测试当imageuri作为额外传递时的相机意图


下一篇:基于PyTorch的端到端神经自动语音识别(ASR)开源工具包ESPRESSO介绍