android UiAutomator如何根据颜色判断控件的状态

来源:互联网 发布:穿越火线刮刮乐软件 编辑:程序博客网 时间:2024/05/16 12:20

本人在用UiAutomator做测试的时候,经常会遇到一些控件因为不同的条件显示不同的颜色,在学习了UiAutomator图像处理之后,自己尝试写了一个方法来处理不同颜色控件的区分。分享代码供大家参考。

//根据颜色判断状态public boolean isBlue(UiObject uiObject) throws UiObjectNotFoundException {screenShot("test");//截图String path = "/mnt/sdcard/123/test.png";Bitmap bitmap = BitmapFactory.decodeFile(path);//新建并实例化bitmap对象Rect rect = uiObject.getVisibleBounds();int x = rect.left;int xx = rect.right;int y = rect.top;int yy = rect.bottom;List<Integer> blueColor = new ArrayList<Integer>();for (int i = x; i < xx; i++) {for (int k = y;k < yy;k++) {int color = bitmap.getPixel(i, k);//获取坐标点像素颜色int red = Color.blue(color);blueColor.add(red);}}int sum = 0;for (int i = 0;i<blueColor.size();i++) {sum += blueColor.get(i);}//output(sum/blueColor.size());return sum/blueColor.size() > 200?true:false;}

下面是在选择判定值的过程中快速获取某点颜色值的方法:

public int getRedPixel(int x, int y) {screenShot("test");//截图String path = "/mnt/sdcard/123/test.png";Bitmap bitmap = BitmapFactory.decodeFile(path);//新建并实例化bitmap对象int color = bitmap.getPixel(x, y);//获取坐标点像素颜色//output(color);//输出颜色值int red = Color.red(color);return red;}public int getGreenPixel(int x, int y) {screenShot("test");//截图String path = "/mnt/sdcard/123/test.png";Bitmap bitmap = BitmapFactory.decodeFile(path);//新建并实例化bitmap对象int color = bitmap.getPixel(x, y);//获取坐标点像素颜色//output(color);//输出颜色值int green = Color.green(color);return green;}public int getBluePixel(int x, int y) {screenShot("test");//截图String path = "/mnt/sdcard/123/test.png";Bitmap bitmap = BitmapFactory.decodeFile(path);//新建并实例化bitmap对象int color = bitmap.getPixel(x, y);//获取坐标点像素颜色//output(color);//输出颜色值int blue = Color.blue(color);return blue;}
public int[] getRGBcolorPixel(int x, int y) {screenShot("testDemo");String path = "/mnt/sdcard/123/testDemo.png";Bitmap bitmap = BitmapFactory.decodeFile(path);int color = bitmap.getPixel(x, y);int red = Color.red(color);int green = Color.green(color);int blue = Color.blue(color);int[] rgb = {red, green, blue};return rgb;}



阅读全文
0 0
原创粉丝点击