Перейти к содержимому

Фотография

TC7 не могу использовать WinFormsObject


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 Golf3disel

Golf3disel

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 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?

С Уважением,
Иван.
  • 0

#2 Kissmybass

Kissmybass

    Активный участник

  • Members
  • PipPip
  • 98 сообщений


Отправлено 24 августа 2011 - 14:27

могу конечно ошибаться сам новичок, но свойство exists использоваться в основном в условных операторах.
  • 0

#3 Kissmybass

Kissmybass

    Активный участник

  • Members
  • PipPip
  • 98 сообщений


Отправлено 24 августа 2011 - 14:28

еще вопрос, этот скрипт в примере "ручная работа" или сгенерирован "Script records"?
  • 0

#4 Golf3disel

Golf3disel

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 25 августа 2011 - 06:16

еще вопрос, этот скрипт в примере "ручная работа" или сгенерирован "Script records"?


Добрый День!

Этот скрипт написан вручную.

С Уважением,
Иван.
  • 0

#5 Golf3disel

Golf3disel

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 25 августа 2011 - 06:19

могу конечно ошибаться сам новичок, но свойство exists использоваться в основном в условных операторах.


Добрый День!

По-моему, Exists выдает просто булевское значение, показывающее существует обьект или нет.

С Уважением,
Иван.
  • 0

#6 anagramma

anagramma

    Активный участник

  • Members
  • PipPip
  • 87 сообщений
  • Город:Moskow

Отправлено 25 августа 2011 - 07:00

Посмотрите свойство 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
  • 0

#7 Golf3disel

Golf3disel

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 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?

С Уважением,
Иван.
  • 0

#8 Golf3disel

Golf3disel

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 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?

С Уважением,
Иван.



Добрый День,

Спасибо, перенес все ручками.
Но все таки, существует ли более технологичный путь?

С Уважением,
Иван.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных