我正在尝试使用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>的实例,但事实并非如此。我还必须说,我以一种建议它执行身份验证机制测试的方法进行图像比较测试,这使我感到奇怪。

10-08 02:16