How to use espresso to test vector drawables(如何使用espresso测试矢量图形)
问题描述
我有一个矢量可绘制的,我想使用espresso进行测试。
可绘制向量:IC_VIDEO_24dp
有什么方法可以使用espresso测试可绘制的矢量吗?任何帮助都将不胜感激。
推荐答案
最好不要比较位图,而是遵循以下答案的建议:https://stackoverflow.com/a/14474954/1396068
设置图像视图的可绘制时,还要使用setTag(R.drawable.your_drawable).
将可绘制ID存储在其标记中,然后使用Espresso的withTagValue(equalTo(R.drawable.your_drawable))
匹配器检查正确的标记。
也请查看我找到的这个教程。看起来效果很好https://medium.com/@dbottillo/android-ui-test-espresso-matcher-for-imageview-1a28c832626f#.4snjg8frw
这是复制粘贴的摘要;-)
请注意,仅当您的可绘制内容为BitmapDrawable时,此选项才有效。如果您也有VectorDrawable或其他可绘制的,则必须检查它(ImageView.getDrawable()instanceOf XXXDrawable)并从中获取位图。除了你有一种简单的可绘制的东西,你只有一种颜色可以比较。
为了获得VectorDrawable的位图,即您必须将VectorDrawable绘制到画布并将其保存为位图。如果您拥有StateListDrawable,则可以获取所选状态的可绘制内容,并重复Casade的If实例。
这篇关于如何使用espresso测试矢量图形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!