У меня есть простое приложение wpf, которое имеет кнопку, которая увеличивает значение при нажатии.У меня также есть функция, которая возвращает последнее значение.Значение по умолчанию - 5. У меня также есть тест пользовательского интерфейса в testcomplete, который нажимает кнопку 3 раза (т. Е. 8).Мне нужно вызвать функцию .Net, чтобы получить это значение и утвердить его.Ниже приведен мой тестовый код.
После некоторого поиска я выяснил детали CLRbridge и реализовал его.Однако, как вы можете видеть ниже, экземпляр теста пользовательского интерфейса и экземпляр, на котором я выполняю функцию, различаются.Итак, функция возвращает 5.
Мой вопрос: как вызвать функцию из того же экземпляра, который загружен testcomplete?Или я иду совсем не по этому пути?Я пробовал и скрипт и тестирование интерфейса с if..then, ничего не получалосьЯ пробовал как прямой экземпляр, так и вызов на домене приложения, оба, похоже, не работают.
ПРИМЕЧАНИЕ: Я понимаю, что могу отобразить значение в элементе управления UI и проверитьконтроль.Однако я специально пробую это для более сложной функциональности тестирования, которая нужна нам в проекте.
function Test2()
{
var Increment;
Increment = 0;
//Runs the "TCompTest" tested application.
TestedApps.TCompTest.Run();
//Clicks the 'button1' button.
Aliases.TCompTest.HwndSource_MainWindow.MainWindow.Grid.button1.ClickButton();
//Clicks the 'button1' button.
Aliases.TCompTest.HwndSource_MainWindow.MainWindow.Grid.button1.ClickButton();
//Clicks the 'button1' button.
Aliases.TCompTest.HwndSource_MainWindow.MainWindow.Grid.button1.ClickButton();
//Increment = dotNET.Incrementer.Incr1.zctor().IntValue(true);
Increment = dotNET.Incrementer.Incr1.zctor().IntValue(true);
**OR**
Increment = Sys.Process("TCompTest").AppDomain("TCompTest.exe").dotNET.Incrementer.Incr1.zctor().IntValue(true)
// if(Increment == 8)
// {//Posts an information message to the test log.
Log.Message(Increment);
// }
//Closes the 'HwndSource_MainWindow' window.
Aliases.TCompTest.HwndSource_MainWindow.Close();
}