我想比较我使用Snippet工具捕获的图像,该工具将用于与从Selenium chrome驱动程序启动的当前窗口或屏幕进行比较。我的代码在
之下 [TestClass]
public class UnitTest1
{
private IWebDriver webdriver = null;
private APILauncher launcher = new APILauncher(true);
[TestMethod]
public void TestMethod1()
{
launcher.Start();
GetWebDriver("http://www.google.com");
Screen screen = new Screen();
//Pattern googleSearchScreenPattern = new Pattern(@"C:\Users\amaddox\Documents\Visual Studio 2017\Projects\SikuliDemo\Images\GoogleSearch.PNG");
//Pattern googleSearchScreenPattern = new Pattern(@"C:\Users\amaddox\Documents\Visual Studio 2017\Projects\SikuliDemo\Images\Espn.PNG");
//Pattern googleSearchScreenPattern = new Pattern(@"C:\Users\amaddox\Documents\Visual Studio 2017\Projects\SikuliDemo\Images\Text.PNG");
Pattern googleSearchScreenPattern = new Pattern(@"C:\Users\amaddox\Documents\Visual Studio 2017\Projects\SikuliDemo\Images\GoogleFailureSearchImage2.PNG");
//screen.Wait(googleSearchScreenPattern, 10);
Assert.IsTrue(screen.Exists(googleSearchScreenPattern, 10));
launcher.Stop();
CloseDriver();
}
private void GetWebDriver(string url)
{
webdriver = new ChromeDriver();
webdriver.Manage().Window.Maximize();
webdriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
webdriver.Navigate().GoToUrl(url);
}
private void CloseDriver()
{
webdriver.Quit();
}
}
我正在使用Visual Studio,我在单元测试项目中导入了Selenium和Chrome的所有nuget包。该测试基本上导航到chrome主页,然后我试图将下面的图像与我在Chrome驱动程序启动的屏幕上看到的图像进行比较。测试不断传递,但我看到的和屏幕截图之间存在差异。如何使用C#.Net和selenium完全匹配sikuli。
答案 0 :(得分:0)
使用模式的方式,它与图像匹配高达70%(默认值)。
您可以尝试更高的精度。 E.g:
var imagePattern = new Pattern(@"C:\Users\image.png", 0.99);
数字为Double,其中1 = 100%,0.1等于10%相似度。