Selenium和c#做自动化时遇到的问题3: 结合Sikulli 校验网页上img元素是否正确

在用selenium做网页端自动化时, 网页上的img元素如何校验图片是否显示得正确呢?

比如测试****网站的显示的用户的头像,是否和用户上传的时候的图像一致


用Selenium 只能检查Img的height,width,src,但是却不能知道图片内容显示是否正确。selenium没有办法做到图片的比对。这个时候我想到了sikulli. 但是在把 sikuli用的C# 的代码中时,遇到一些问题。以下是操作的步骤。

1. 安装SikuliIntegrator包,安装后reference中会增加两个引用

Selenium和c#做自动化时遇到的问题3: 结合Sikulli 校验网页上img元素是否正确

Selenium和c#做自动化时遇到的问题3: 结合Sikulli 校验网页上img元素是否正确

2.项目文件中会增加JSikuliModule.jar,设置该文件的属性为copyalways

Selenium和c#做自动化时遇到的问题3: 结合Sikulli 校验网页上img元素是否正确

3.头文件中引用

using SikuliModule;

using System.Drawing;

4.使用的代码如下所示

 String ExpectPicturePath = "TestData\\sunrise.jpg";
 Assert.IsTrue(CompanyLogoImg.Displayed);

 SikuliAction.Wait(ExpectPicturePath, 0.8F, 5);

5.但是运行时候发生报错

Selenium和c#做自动化时遇到的问题3: 结合Sikulli 校验网页上img元素是否正确

System.Exception: 'Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\2\tmplib\Win32Util.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)
    at org.sikuli.script.Win32Util.<clinit>(Win32Util.java:19)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.sikuli.script.Env.getOSUtil(Env.java:91)
    at org.sikuli.script.ScreenHighlighter.init(ScreenHighlighter.java:180)
    at org.sikuli.script.ScreenHighlighter.<init>(ScreenHighlighter.java:293)
    at org.sikuli.script.Screen.initBounds(Screen.java:105)
    at org.sikuli.script.Screen.<init>(Screen.java:117)
    at com.sikuliintegrator.Operation.Wait(Operation.java:222)

    at com.sikuliintegrator.Pointer.main(Pointer.java:122)

报错的愿意在网上搜了一下,原因是我安装的 32-Bit Java version ,但是我需要用64位的java 所以暂时放弃这种办法。