我正在尝试使用Visual Studio 2013 Pro比较两个图像。 MSDN提供有关ImageComparer.Compare的信息(http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.uitesting.imagecomparer.compare.aspx),a,我无法在我的代码中实现它。在代码的最后一行,我被告知“名称“比较”在当前上下文中不存在”。有人可以帮忙吗?谢谢!
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#中使用类的静态成员时,必须始终首先将其限定为类。否则,编译器将尝试在当前类上定位成员。
您的
IntranetLoginTest
可能遇到的另一个问题是,它应该返回List<string>
的实例,但事实并非如此。我还必须说,我以一种建议它执行身份验证机制测试的方法进行图像比较测试,这使我感到奇怪。