from PIL import Image
from PIL import ImageChops
def compare_images(driver, path_one, lu):
img_folder = os.fspath('D:\\screenshots') + '\\' + str(lu) + "\ERROR" + lu
Screentime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
screen_save_path = img_folder + Screentime + '.png'
driver.get_screenshot_as_file(screen_save_path)
# myprint(screen_save_path)
"""
比较图片,如果有不同则生成展示不同的图片
@参数一: path_one: 第一张图片的路径
@参数二: path_two: 第二张图片的路径
@参数三: diff_save_location: 不同图的保存路径
"""
# diff_save_location = 'D:\\screenshots\\mumu\\' + str(department) + Screentime + '.png'
image_one = Image.open(path_one)
image_two = Image.open(screen_save_path)
try:
diff = ImageChops.difference(image_one, image_two)
if diff.getbbox() is None:
# 图片间没有任何不同则删除图片
os.remove(screen_save_path)
return True
else:
myprint(diff)
# diff.save(diff_save_location)
# image_two.save(diff_save_location)
return screen_save_path
except ValueError as e:
text = ("图片不一致")
print("【{0}】{1}".format(e, text))
调用:
path_one = 'D:\\screenshots\\screenshot20190613103310.png'
# path_two = 'D:\\screenshots\\screenshot20190613103333.png'
# diff_save_location = 'D:\\screenshots\\mumu\\' + "\same" + '.png'
lu = 'search'
true = compare_images(driver, path_one, lu)
myprint(true)
assert (true == True), "图片不一致,详见图"
#===============================分界线============================================================
#上一个多文件夹的版本,
#把我的示例图放在一个文件夹,然后控制手机自动操作的时候 在当时截图(截下来放入b文件夹),然后用当时截图和示例图#作对比,比对完成后,发现不同,再把这个不同 放入第三个文件夹
from PIL import Image
from PIL import ImageChops
def compare_images(driver, path_one, lu, department):
img_folder = os.fspath('D:\\screenshots') + '\\' + str(lu) + "\screenshot"
Screentime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
screen_save_path = img_folder + Screentime + '.png'
driver.get_screenshot_as_file(screen_save_path)
# myprint(screen_save_path)
"""
比较图片,如果有不同则生成展示不同的图片
@参数一: path_one: 第一张图片的路径
@参数二: path_two: 第二张图片的路径
@参数三: diff_save_location: 不同图的保存路径
"""
diff_save_location = 'D:\\screenshots\\mumu\\' + str(department) + Screentime + '.png'
image_one = Image.open(path_one)
image_two = Image.open(screen_save_path)
try:
diff = ImageChops.difference(image_one, image_two)
if diff.getbbox() is None:
# 图片间没有任何不同则直接退出
return True
else:
myprint(diff)
diff.save(diff_save_location)
#image_two.save(diff_save_location)
#myprint(diff_save_location)
return False
except ValueError as e:
text = ("图片不一致")
print("【{0}】{1}".format(e, text))
#然后,我得到了这样一张图;