机器人最佳实践。 clickOnView 与 clickOnButton

Robotium best practice. clickOnView vs clickOnButton

我想知道总是使用 solo.clickOnView(solo.getView(R.id.example_button)); 按下按钮或 solo.enterText((EditText) solo.getView(R.id.example_editText), "invalidEmail"); 输入 en 文本不是更好。 当使用索引 solo.clickOnButton(0) 按下按钮时,当 UI 发生变化时,测试将立即失败。

如果一直使用视图,这仍然是黑盒测试吗?

我是 Robotium 的新手,正在测试自己,想知道其他程序员正在使用什么。

使用 ID 将是最佳选择,因为您注意到不这样做会使您的测试对几乎任何 UI 更改都非常脆弱。您通常可以使用诸如页面对象之类的概念(https://code.google.com/p/selenium/wiki/PageObjects 是关于 selenium,但粗略的概念是成立的)让您编写的测试比在每次使用 id 搜索对象的测试中更易于维护(如果一个id 更改,那么您只需在一个地方更改它等)

我认为这仍然可以被视为黑盒测试,但根据我的经验,这些术语有点无用,您应该在 android ids 将是你最好的选择。