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

Фотография

Как запустить Test item


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

#1 vitaliy4us

vitaliy4us

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

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

Отправлено 18 января 2012 - 08:20

Возникла такая проблема: Один из тестов без проблем работает из самого скрипта. Но этот же скрипт наотрез отказывается работать как Test Item. Пишет в логе Unable to find the object (хотя этот же object в скрипте прекрасно находится). Сам object находится в скрипте, который добавлен в тест как //USEUNIT. Причем, объект не находится сразу после запуска скрипта, когда дело до его создания еще не дошло, а перед этим есть еще несколько действий, которые никак не отображаются. В чем может быть проблема?
  • 0

#2 Kissmybass

Kissmybass

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

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


Отправлено 19 января 2012 - 09:42

Возникла такая проблема: Один из тестов без проблем работает из самого скрипта. Но этот же скрипт наотрез отказывается работать как Test Item. Пишет в логе Unable to find the object (хотя этот же object в скрипте прекрасно находится). Сам object находится в скрипте, который добавлен в тест как //USEUNIT. Причем, объект не находится сразу после запуска скрипта, когда дело до его создания еще не дошло, а перед этим есть еще несколько действий, которые никак не отображаются. В чем может быть проблема?

Пример скрипта можете скинуть
  • 0

#3 vitaliy4us

vitaliy4us

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

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

Отправлено 28 января 2012 - 09:39

[/quote]
Пример скрипта можете скинуть
[/quote]
Извините, не заметил Ваш ответ. Вот пример скрипта в котором вызывается функция ClickContextMenu с параметрами Icon и status. В свою очередь, в этой функции использована еще одна функция ClickMenuItem также использующая этот же параметр status. Вот эти параметры (Icon, status) TestComplete и не опознает при попытке запуска Test Item. Уже при добавлении этого скрипта в качестве Test Item-а в столбце Parameters появляется информация: Icon(Value = ???);status(Value = ???). Как уже говорилось, при запуске самого скрипта проблем нет.
function main()
{
ClickContextMenu("IM", "Offline");
}

function ClickContextMenu(Icon, status)
{
  var i = "pb" + Icon;
  var win = Sys.Process("GWTalk").WinFormsObject("Main").WinFormsObject(i);
  win.ClickR();
  var p = Sys.Process("GWTalk");
  var PropArray = ConvertJScriptArray(new Array("ClrClassName", "Visible"));
  var ValuesArray = ConvertJScriptArray(new Array("ContextMenuStrip", "True"));
  var cont = p.FindChild(PropArray, ValuesArray);
  ClickMenuItem(cont, status);
}

function ClickMenuItem(Menu, ItemName)
{
 var RowId;
 for (var i = 0; i < Menu.Items.Count; i++)
 {
  if (Menu.Items.Item_2(i).Text == ItemName)
  RowId = i;
 }  
 Menu.Click(Menu.Items.Item_2(RowId).Width / 2.0, Menu.Items.Item_2(RowId).Height / 2.0 + Menu.Items.Item_2(RowId).Bounds.Top); 
}

  • 0

#4 vitaliy4us

vitaliy4us

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

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

Отправлено 29 января 2012 - 06:17

Разобрался. Надо учить матчасть. Если в скрипте имеется несколько функций, то Test Item воспринимает их каждую как отдельный тест и, соответственно, предлагает выбрать одну из них. Вот и стояла первая попавшаяся ему под руку, а надо было выбрать главную функцию.
  • 0


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

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