为RTL语言编写UI测试

时间:2018-11-28 07:16:17

标签: android right-to-left android-espresso

我正在尝试为RTL语言编写UI测试。这是一个场景。我有一个AutoCompleteTextView,当我尝试标记用户(“ @user”)时,会在其中显示建议用户的下拉列表。当我手动键入字符串时,这适用于RTL和LTR语言。 但是,如果我尝试使用espresso进行功能测试,则无法正常工作。

这是我尝试编写UI测试的方式: 每当我告诉编辑文本使用onView(withId(R.id.message_input_field)).perform(typeText("@u"))键入“ @u”时,Espresso都会生成按键事件以将字符注入到编辑文本中。像“ KEY_DOWN_SHIFT”,“ KEY_DOWN_2”,“ KEY_UP_SHIFT”,“ KEY_UP_2”之类的,它键入“ @”,依此类推。一切都适用于英语。 当我们尝试使用onView(withId(R.id.message_input_field)).perform(typeText("@פ"))之类的RTL字符进行标记时,就会出现问题。 Espresso无法识别RTL字符并且无法生成键事件,最终抛出java.lang.RuntimeException: Failed to get key events for string פ (i.e. current IME does not understand how to translate the string into key events) 我尝试执行replaceText(…)而不是typeText(…),但是replaceText依次执行editText.setText(…)。但没有显示下拉菜单。很奇怪。

如何为这种情况编写UI测试?

P.S。您的设备语言是什么,或者当前选择的键盘是什么都没有关系。

0 个答案:

没有答案
相关问题