gpt4 book ai didi

unicode - 无法在 Espresso 中输入 Unicode 字符

转载 作者:行者123 更新时间:2023-12-04 20:35:49 27 4
gpt4 key购买 nike

这是一个简单的命令来匹配文本字段并输入变量 name .

private final String name = "foo";
onView(withId(R.id.editTextName)).perform(typeText(name));

它在我的“foo”应用程序中运行良好。然而:
private final String name = "á";
private final String name = "\u00E1";

在这两种情况下, onView行失败,归咎于无法在前一个事件的 View 中找到 View :
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: <myappid>:id/listViewAccounts

似乎 Espresso 无法处理 Unicode 字符,如果要求输入它们会失败。这是在带有“英语(美国)Android 键盘(AOSP)”或“英语(美国)示例软键盘”的 AVD 上运行的。后者也会使双字母变平,这可能是 Espresso 进入它们的速度的一个单独问题。

有没有人遇到过这个?是 Espresso,还是使用的键盘,或者其他什么东西?

我把安卓软键盘改成了美式国际软键盘,可以长按 a获取 á ,但 Espresso 也同样失败。

更新:

使用 á确实将其保留在堆栈跟踪中(但 \u00E1 不会):
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). As a workaround, you can use replaceText action to set the text directly in the EditText field.
这样做可能是值得的,尽管它与实际用户交互的方式略有脱节。

最佳答案

onView(withId(R.id.editTextName)).perform(replaceText(name));

转出 typeText()replaceText()允许输入其他字符。我不确定这是一个理想的解决方案,因为按键上可能存在未触发的事件,但如果您只想测试这些字符串在内部是如何处理的,那么它可能没问题。

Espresso 明确建议解决方法。

关于unicode - 无法在 Espresso 中输入 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35905451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com