图像相似度算法的一点粗糙应用——GUI测试

因为一些私人的事情,本来早已经应该完成的一篇文章一直到今天才可以草草了结。在前面的两篇文 章《图像相似度算法的C#实现及测评》《对“画条线”(Draw a line)的单元测试几点想法和实践 》中 ,先后介绍了一个简单的会读直方图算法和一些关于GUI画图的测试想法。有必要说明的是,在《对“画 条线”(Draw a line)的单元测试几点想法和实践》中提到的几种方法,最实用的是Mock法并不是今天 的主题。

这篇文章中继续前面的思路,简单写写有关GUI自动化测试的一点想法。

问题

对于画线,画图等应用程序的功能自动化测试的解决方案?

解决思路

采取截图法,即将用例中的输出截图,以图片作为输出结果,当然之前需要一个相应的图片作为预期 结果,以便于比较。

对于预期结果图片,可以采用的方式是先运行一次自动化测试代码截得一幅图片,然后手动检查图片 是否为与其效果,如是则将该图片作为预期结果。(在功能自动化测试中,在第一次运行自动化测试脚本 的时候,是应该在人工监视的条件下进行的,而更多时候在我们调试相应的脚本的时候就已经完成了相应 的工作。)

示例代码

1,待测代码示例

Draw A Line
    /// <summary>
    /// 在Windows窗口上画图形
  /// </summary>
    class Draw_A_Line : System.Windows.Forms.Form
    {
        //private Form MainForm;
        System.ComponentModel.Container component = null;
        Pen myPen = new Pen(Color.Black);
        Bitmap bmpImg = null;

        public Draw_A_Line()
        {
            InitializeComponent();
        }

        private void InitializeComponent()
        {
            this.component = new System.ComponentModel.Container();
            this.Size = new Size(256, 256);
            this.Text = "TestMainForm";

        }

         /// <summary>
        /// 清理正在使用的资源
        /// </summary>
        /// <param name="disposing"></param>
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (component != null)
                {
                    saveBmp(); //保存截图
                    component.Dispose();
                }
            }
            base.Dispose(disposing);
        }

        //static Graphics SaveGraph;
        protected override void OnPaint(PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            myPen.Width = 5;
            g.DrawLine(myPen, 16, 27, 38, 49);
        }
    }

时间: 2024-11-03 03:09:15

图像相似度算法的一点粗糙应用——GUI测试的相关文章

图像相似度算法的C#实现及测评

闲言碎语 才疏学浅,只把计算图像相似度的一个基本算法的基本实现方式给罗列了出来,以至于在最后自己测评的时候也大发感慨,这个算法有点不靠谱.不管怎么样,这个算法有时候还是有用的,所以还是列出来跟大家伙一起分享分享~~ PS:图像处理这一块博大精深,个人偶尔发现了点东西拿来分享.说的不好的地方,写得太糟的地方,诸位准备扔砖头还望淡定,淡定~~ 基本知识介绍 颜色直方图 颜色直方图是在许多图像检索系统中被广泛采用的颜色特征,它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,

从相似度算法谈起 - Effective similarity search in PostgreSQL

标签 PostgreSQL , 数组 , 相似度 , 文本分析 , 图像分析 , 字符串分析 , 婚姻介绍 , 精确配对 背景 相似度分析是一个非常普遍的需求,例如根据用户提供的线索,从一堆文本数据.图片数据.视频数据中筛选一段与用户的描述相近的. 我之前写过一系列的文章来介绍,文本.图片相似度搜索的技术和使用场景. <PostgreSQL 在视频.图片去重,图像搜索业务中的应用> <弱水三千,只取一瓢,当图像搜索遇见PostgreSQL(Haar wavelet)> <聊一

OpenCV进行图像相似度对比的几种办法

转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/43853435, 来自:shiter编写程序的艺术 对计算图像相似度的方法,本文做了如下总结,主要有三种办法: 1.PSNR峰值信噪比 PSNR(Peak Signal to Noise Ratio),一种全参考的图像质量评价指标. 简介:https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio PSNR是最普遍和使用最为广

JPG格式图像相似度对比。

问题描述 JPG格式图像相似度对比. 对jpg格式的图片提取特征需要先对其进行解码转换成位图,然后再利用对应的特征提取方法提取特征吗? 解决方案 最简单的,可以使用灰度直方图作为特征, 解决方案二: 不用吧,看你什么方法能把颜色信息提取出来就行,推荐opencv,psnr

图像去雾算法matlab问题

问题描述 图像去雾算法matlab问题 请问用暗通道方法去雾,怎么求得投射图,具体的方法是什么,怎样去雾简单一些,本科毕业做的,有没有简单的方法能达到去雾的效果,不用特别好可以看出来有去雾就行 解决方案 http://www.ilovematlab.cn/thread-177571-1-1.html 解决方案二: 去雾的基本原理就是增加图像对比度,增加缘的锐度,使用有包含对比度的色彩模型就有这种效果.

通过余弦相似度算法计算用户相似度时具体怎么做

问题描述 通过余弦相似度算法计算用户相似度时具体怎么做 按用户购买的物品,具体怎么样计算...................... 解决方案 http://blog.csdn.net/cscmaker/article/details/7990600

javascript实现图片相似度算法

 这篇文章主要介绍了javascript实现图片相似度算法,大家参考使用吧 代码如下: function getHistogram(imageData) {     var arr = [];     for (var i = 0; i < 64; i++) {         arr[i] = 0;     }     var data = imageData.data;     var pow4 = Math.pow(4, 2);     for (var i = 0, len = data

13 款最热门的 jQuery 图像 360 度旋转插件推荐_jquery

在 web 页面上使用 jQuery 图像 360 度旋转插件是最美也是最方便的显示图像的方式.这些超级棒的 360° 图像选择插件允许用户更详细的分析产品或者文章.jQuery 图像旋转插件可以让用户从各种角度进行 360 度的图像展示,经常在电子商务网站上使用,帮助消费者更好的了解产品,从任意的一个角度观察欣赏. 在这篇文章中,我们收集了 13 款最佳的 jQuery 图像 360 度旋转插件,这些插件都能进行 360 度图像旋转展示.希望大家能从中找到自己喜欢的,并应用在自己的网站上. 1

Mahout中的一些相似度算法实现解读

Mahout中实现的推荐算法是协同过滤,而无论是UserCF还是ItemCF都依赖于user相似度或item相似度.本文是对mahout中的一些相似度算法的解读. Mahout相似度相关类关系如下: 有点乱(^.^)     从上图可看出,Mahout主要针对用户相似度和物品相似度的计算,并且除了HybridSimilarity之外全都能够用于计算user和item两者的相似度,只有HybridSimilarity只能计算item相似度.接来下分三部分进行分析:继承AbstractSimilar