Закодированный интерфейс - дополнения

Я использую VS 2013 с CodedUI для автоматизации тестов пользовательского интерфейса в приложении, созданном не моим клиентом (это проект реализации). При проверке элемента управления пользовательского интерфейса с помощью проверки или закодированного пользовательского интерфейса я вижу, что идентификатор автоматизации продолжает меняться, и у меня нет реального способа (помимо позиции) для захвата моих элементов управления (приложение разработано в Delphi).

Поэтому мне интересно, существует ли какая-то библиотека или надстройки (или что-то, даже не связанное с Coded UI и VS), которые могут помочь в этом? Например, некоторые инструменты, которые могут сделать снимок экрана элемента управления, а затем сопоставить его (снимок экрана) с идентификатором элемента управления, который я определю и использую для автоматизации?


person eetawil    schedule 12.02.2014    source источник
comment
Просто удалил свой ответ, приношу свои извинения, я думал, что это веб-приложение ... Прошло очень много времени с тех пор, как я занимался разработкой настольных компьютеров ... если вы отчаялись, вы могли бы добраться до контейнера и ходить с детьми, пока вы найдете правильный контроль, проверив текст (Spy ++ для бедняков) ... как уже было сказано, вероятно, есть инструмент, который сделает это за вас ...   -  person Bobby D    schedule 12.02.2014
comment
Не волнуйтесь, спасибо за попытку, я действительно нашел умный способ, используя довольно новый и популярный инструмент под названием sikuli для автоматизации пользовательского интерфейса, распознавания на основе изображений.   -  person eetawil    schedule 12.02.2014


Ответы (1)


Вау .... Я смог найти способ делать то, что мне нужно, с помощью sikuli (http://www.sikuli.org/) ознакомьтесь с этим сообщением. Я действительно попробую завтра. Но я обнаружил в сети (ссылка ниже), что это возможно.

Из Coded UI мы можем вызвать сценарий sikuli следующим образом:

Process process = new Process();
ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = @"D:\Sikuli\ds.bat";
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();

(код из) https://answers.launchpad.net/sikuli/+question/232233, прочтите этот пост, ребята!

person eetawil    schedule 12.02.2014