По мотивам - GUI-тестирование "по-русски". Back to the basics. Пример нажатия на кнопку формы из скрипта:
"P.P.P.S. Есть ещё одна "хотелка" - нарисовать GUITestRunner для DUnit для проектов на базе FM. Я постараюсь её реализовать."
Вот ссылка на исходники:
https://bitbucket.org/ingword/mindstream/src/a2c4db4a11bc325909e64e258693ae17668cf64e/FMX.DUnit/?at=MS-4_Dunit_for_Firemonkey
Там правда ещё "работать и работать".
В частности GUIObject - это - "ужас ужас".
Да и вообще надо делать декоратор над ITest.
Но - "как-то" - работает. И вполне себе - работает.
Скриншот:
Код проекта:
Компилированное "тестовое приложение" - FMX.DUnit.exe.
"P.P.P.S. Есть ещё одна "хотелка" - нарисовать GUITestRunner для DUnit для проектов на базе FM. Я постараюсь её реализовать."
Вот ссылка на исходники:
https://bitbucket.org/ingword/mindstream/src/a2c4db4a11bc325909e64e258693ae17668cf64e/FMX.DUnit/?at=MS-4_Dunit_for_Firemonkey
Там правда ещё "работать и работать".
В частности GUIObject - это - "ужас ужас".
Да и вообще надо делать декоратор над ITest.
Но - "как-то" - работает. И вполне себе - работает.
Скриншот:
Код проекта:
program FMX.DUnit;
uses
FMX.Forms,
u_fmGUITestRunner in 'u_fmGUITestRunner.pas' {fmGUITestRunner},
u_FirstTest in 'u_FirstTest.pas',
u_SecondTest in 'u_SecondTest.pas';
{$R *.res}
begin
Application.Initialize;
u_fmGUITestRunner.RunRegisteredTestsModeless;
Application.Run;
end.
Компилированное "тестовое приложение" - FMX.DUnit.exe.

Это стоит оформить на английском и люди потянутся :)
ОтветитьУдалить;-) мы думали об этом
УдалитьЕсть такой момент. Поскольку мы делимся исходниками (пусть и "копеечными" пока), но не хотим отказываться от своих прав, то надо положить какую-то "лицензию". Как думаешь какую? GPL? Учитывая, что в "коммерческий код" тесты всё равно - никогда не попадут.
УдалитьЕсли "дело пойдёт", то есть "куда развивать" - http://18delphi.blogspot.ru/2013/03/dunit.html
Удалить