我正在尝试使用 Visual Studio 2013 Pro 比较两个图像。 MSDN 提供了有关 ImageComparer.Compare 的信息 ( http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.uitesting.imagecomparer.compare.aspx ),唉,我没能在我的代码中实现它。在我的代码的最后一行,我被告知“当前上下文中不存在名称‘Compare’”。有人可以帮忙吗?谢谢!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using Microsoft.VisualStudio.TestTools.UITesting;
namespace Intranet.SmokeTests
{
public class Intranet_Login : Intranet_Setup
{
public List<string> IntranetLoginTest(string BrowserURL, string Host, int Port)
{
Image expected = Image.FromFile(@"\\webdriver\ImageVerification\Expected\IntranetHome.png");
Image actual = Image.FromFile(@"\\webdriver\ImageVerification\Actual\IntranetHome.png");
bool equal = Compare(actual, expected);
}
}
}
最佳答案
你必须这样做:
bool equal = ImageComparer.Compare(actual, expected);
当您想在 c# 中使用类的静态成员时您必须始终首先在类(class)中获得资格。否则,编译器将尝试在当前类中定位该成员。
您的 IntranetLoginTest
可能遇到的另一个问题是它应该返回 List<string>
的实例吗? ,但事实并非如此。我还必须说,我觉得奇怪的是,您正在使用一种建议它执行身份验证机制测试的方法进行图像比较测试。
关于c# - 有人可以提供 ImageCompare 方法的示例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23018299/