robotframework 图片校验

2024-06-11 15:32

本文主要是介绍robotframework 图片校验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题由来

由于某些时候需要校验图片是否为一致,比如一些重要的图标,接口返回的图片地址是否符合要求等

在网络上找了一圈,发现觉大多数都要用到额外的类库,感觉这样比较麻烦不太适合自己,想着原来用md5来判断文件是否一致的情况,那图片也可以用类似的方法,于是想到用base64编码图片来进行比较

具体代码如下:

#encoding=utf8
"""通过base64编码的字符来比较两个图片是否一致作者:Thomas日期:2015/4/8
"""import requests
import base64
from robot.utils.asserts import fail_unlessdef get_url_photo_str(url):'''参数为图片的网络地址use example:${data}=  | Get Url Photo Str | ${url} |'''#yield base64.b64encode(requests.get(url).content)return base64.b64encode(requests.get(url).content)def get_path_photo_str(path):'''参数为图片的本地地址use example:${data}=  | Get Path Photo Str | ${path} |'''with open(path, "rb") as image_file:encode_str = base64.b64encode(image_file.read())#yield encode_strreturn encode_strdef path_url_check(path,url):'''参数为图片的本地地址和网络地址,然后将两者的base64编码进行比较,如果一致就表示两个图片一样use example:| Path Url Check | ${path} | ${url} |'''fail_unless(_path_url_check(path,url), "local picture is different from url picture ")def url_url_check(url1,url2):'''参数为两个图片的网络地址,然后将两者的base64编码进行比较,如果一致就表示两个图片一样use example:| Url Url Check | ${url1} | ${url2} |'''fail_unless(_url_url_check(url1,url2),'the two url picture is different')def _url_url_check(url1,url2):'''网络图片比较'''return True if get_url_photo_str(url1)==get_url_photo_str(url2) \else Falsedef _path_url_check(path,url):'''本地图片和网络图片比较'''return True if get_path_photo_str(path)==get_url_photo_str(url) \else False

测试代码:

#!/usr/bin/env python
#encoding=utf-8import unittest
import online_photo_checkclass UserInfoTest(unittest.TestCase):def test_url_url_check(self):url1 = 'https://assets-cdn.github.com/images/modules/open_graph/github-mark.png'self.assertTrue(online_photo_check._url_url_check(url1, url1))url2 = 'https://assets-cdn.github.com/images/modules/open_graph/github-octocat.png'self.assertFalse(online_photo_check._url_url_check(url1, url2))def test_path_url_check(self):path = "c:\\github-octocat.png"url1 = 'https://assets-cdn.github.com/images/modules/open_graph/github-mark.png'self.assertFalse(online_photo_check._path_url_check(path, url1))url2 = 'https://assets-cdn.github.com/images/modules/open_graph/github-octocat.png'self.assertTrue(online_photo_check._path_url_check(path, url2))

这篇关于robotframework 图片校验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1051567

相关文章

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Java中使用注解校验手机号格式的详细指南

《Java中使用注解校验手机号格式的详细指南》在现代的Web应用开发中,数据校验是一个非常重要的环节,本文将详细介绍如何在Java中使用注解对手机号格式进行校验,感兴趣的小伙伴可以了解下... 目录1. 引言2. 数据校验的重要性3. Java中的数据校验框架4. 使用注解校验手机号格式4.1 @NotBl