Selenium с Sikuli4Net не может сравнить изображение с полноэкранным режимом, запущенным из драйвера Chrome - PullRequest
0 голосов
/ 24 апреля 2018

Я хотел бы сравнить изображения, которые я сделал с помощью инструмента 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 и импортировал все пакеты nuget для Selenium и Chrome в свой проект модульных тестов. Тест в основном переходит на главную страницу Chrome, а затем я пытаюсь сравнить изображения ниже с тем, что я вижу на экране, запущенном из драйвера Chrome. Тесты продолжают проходить, но есть различия между тем, что я вижу, и снимками экрана. Как я могу получить sikuli для точного соответствия, используя C # .Net и селен.

enter image description here

enter image description here

1 Ответ

0 голосов
/ 17 мая 2018

При использовании шаблона он соответствует изображению с точностью до 70% (по умолчанию).

Вы можете попробовать с большей точностью. E.g.:

var imagePattern = new Pattern(@"C:\Users\image.png", 0.99);

Число Double, где 1 = 100%, а 0,1 соответствует 10% сходства.

...