我最近开始使用 UIautomator 来测试我的 Android 应用。
以下代码 fragment 显示了测试用例代码中的典型语句:
mDevice.findObject(By.res(BASIC_SAMPLE_PACKAGE, "editTextUserInput"))
.setText(STRING_TO_BE_TYPED);
如您所见,“editTExtUserInput”被引用为字符串。在我的应用程序源代码中,这被定义为资源标识符 (R.id.editTextUserInput)。
在当前情况下,当我更改我的应用程序中标识符的名称时,我所有的测试用例都会搞砸(我将不得不手动更改所有字符串值)...有没有人有解决方案这个问题?
最佳答案
Google 的大部分 Android 测试团队都在花时间构建 Espresso ,一个新的 UI 测试框架,专门使这些情况更容易。例如,该行可以是
onView(withId(R.id.editTextUserInput)).typeText(STRING_TO_BE_TYPED);
标识符自动完成和重构之类的事情也会影响这些测试。
关于android - 在 UIAutomator 测试中引用资源标识符的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31082374/