
TC7 не могу использовать WinFormsObject
#1
Отправлено 24 августа 2011 - 13:22
Делаю первые шаги в автоматизации тестирования.
TC 7.50, JScript, тестирую C# приложение.
Проблема в том, что TC не распознает окно как WinForm.
Например:
Берем окно, которое появляется при запуске C# приложения.
Выполняем следующую функцию:
function testWinForms()
{
var o = Sys.Process("Client.vshost");
o.Refresh(); //Sys.Process("Client.vshost").Window("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1)
var isExistsWinForm = o.WaitWinFormsObject("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1,5000).Exists;
var isExists = o.Window("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1).Exists;
}
Получаем: isExistsWinForm = false; isExists = true;
Вопрос, почему не работает WaitWinFormsObject?
С Уважением,
Иван.
#2
Отправлено 24 августа 2011 - 14:27
#3
Отправлено 24 августа 2011 - 14:28
#4
Отправлено 25 августа 2011 - 06:16
еще вопрос, этот скрипт в примере "ручная работа" или сгенерирован "Script records"?
Добрый День!
Этот скрипт написан вручную.
С Уважением,
Иван.
#5
Отправлено 25 августа 2011 - 06:19
могу конечно ошибаться сам новичок, но свойство exists использоваться в основном в условных операторах.
Добрый День!
По-моему, Exists выдает просто булевское значение, показывающее существует обьект или нет.
С Уважением,
Иван.
#6
Отправлено 25 августа 2011 - 07:00
и используйте его в
var isExistsWinForm = o.WaitWinFormsObject( NativeClrObject.Name,5000).Exists;
а вообще должно определяться не как
Sys.Process("Client.vshost").Window("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1), а вот так
Sys.Process("Client.vshost").WinFormsObject("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1)
поэтому читаем тут:
http://software-test...676
т.е. нужен TC 7.52 и HotFix
#7
Отправлено 26 августа 2011 - 07:20
Посмотрите свойство NativeClrObject.Name.OleValue у объекта Sys.Process("Client.vshost").Window("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1)
и используйте его в
var isExistsWinForm = o.WaitWinFormsObject( NativeClrObject.Name,5000).Exists;
а вообще должно определяться не как
Sys.Process("Client.vshost").Window("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1), а вот так
Sys.Process("Client.vshost").WinFormsObject("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1)
поэтому читаем тут:
http://software-test...676
т.е. нужен TC 7.52 и HotFix
Добрый День!
Спасибо anagramma, применил HotFix, все заработало.
Возник еще один вопрос: Для интереса скачал триальный 8-ой TC и открыл проект, созданный в TC 7.52. Соответственно, 8-ой переконфигурировал его.
Теперь проект не открывается с помощью 7.52.
Как сделать так, чтоб проект снова открывался в 7.52?
С Уважением,
Иван.
#8
Отправлено 29 августа 2011 - 06:18
Посмотрите свойство NativeClrObject.Name.OleValue у объекта Sys.Process("Client.vshost").Window("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1)
и используйте его в
var isExistsWinForm = o.WaitWinFormsObject( NativeClrObject.Name,5000).Exists;
а вообще должно определяться не как
Sys.Process("Client.vshost").Window("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1), а вот так
Sys.Process("Client.vshost").WinFormsObject("WindowsForms10.Window.8.app.0.b7ab7b", "Подключение к комплексу", 1)
поэтому читаем тут:
http://software-test...676
т.е. нужен TC 7.52 и HotFix
Добрый День!
Спасибо anagramma, применил HotFix, все заработало.
Возник еще один вопрос: Для интереса скачал триальный 8-ой TC и открыл проект, созданный в TC 7.52. Соответственно, 8-ой переконфигурировал его.
Теперь проект не открывается с помощью 7.52.
Как сделать так, чтоб проект снова открывался в 7.52?
С Уважением,
Иван.
Добрый День,
Спасибо, перенес все ручками.
Но все таки, существует ли более технологичный путь?
С Уважением,
Иван.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных