android - 机器人最佳实践。 clickOnView 与 clickOnButton

标签 android testing robotium

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

如果总是使用 View,这仍然是黑盒测试吗?

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

最佳答案

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

我认为这仍然可以被视为黑盒测试,但根据我的经验,这些术语有点无用,你应该做最适合你正在使用的系统的事情,在 android ids 中是你最好的打赌。

关于android - 机器人最佳实践。 clickOnView 与 clickOnButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671286/

相关文章:

android - Firebase Firestore 回收器 View 适配器为每个文档复制列表

java - Android 通过蓝牙从 HC-06 发送/接收数据

loops - Mockito 模拟一个无限循环的方法

android - Robotium:仅单击 alertDialog 中的文本,而不单击下方 Activity 中的文本

android - 如何编写使用内置相机拍照的 Solo/Robotium 测试用例?

php - 适用于 iPhone 和 Android 的图形库

android - 在 Android 中存储用户数据的最佳方式是什么

android - androidTest 是否支持风格和构建类型变体?

visual-studio-2008 - Visual Studio 2008 测试工具

android - 如何使用 Robotium 在屏幕上的特定位置执行单击?