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

Фотография

Добавление в проект нового Project Item во время выполнения скрипта


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

#1 QA*

QA*

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

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 11 мая 2011 - 12:37

Доброго времени суток!
Можно ли сделать так, чтобы TestComplete в процессе выполнения скрипта проверял наличие в скрипте элемента ODT и, если его нет, создавал его сам.

TestComplete 7.52
DelphiScript
  • 0

#2 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 11 мая 2011 - 13:44

Доброго времени суток!
Можно ли сделать так, чтобы TestComplete в процессе выполнения скрипта проверял наличие в скрипте элемента ODT и, если его нет, создавал его сам.

TestComplete 7.52
DelphiScript



Если я правильно понял, то нужно чтобы в скрипте определялось , есть ли в ODT.Data нужная вам группа..если ее нет , то создавалась эта группа..
Если так, то можно использовать такой прием
var a = "GroupName";
    var s = 0;    
    for (var i=0;i<ODT.Data.GroupCount;i++)
    {
        if (ODT.Data.Groups(i).Name == a)
        {
            Log.Message("Группа с таким именем уже есть");
            s++;
            break;
        }         
    }  
    if (!s)
    {
        ODT.Data.AddGroup(a);
        Log.Message("Группа добавлена");
    }

Аналогичным путем можно узнать есть в той или иной группе нужные свойства\методы, и если их нет создавать
Единственное что написал на языке JavaScript
  • 0

#3 QA*

QA*

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

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 12 мая 2011 - 04:44

XXX, все что вы описали, я уже умею делать. Мне нужно проверять наличие самого ODT в скрипте, если его нет, нужно его добавлять.
  • 0

#4 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 12 мая 2011 - 06:29

Мне нужно проверять наличие самого ODT в скрипте, если его нет, нужно его добавлять.

Добавлять project item'ы динамически нельзя. Если вы планируете использовать какой-то айтем в тесте - надо добавить его заранее вручную.А чтобы проверить наличие в проекте ODT надо проверить, определен ли скриптовый объект (идентификатор) ODT. В JScript, например, это делается вот так:
if (typeof ODT == "undefined") {
  // нет ODT
}
else {
  // есть ODT
}


  • 0

#5 QA*

QA*

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

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 12 мая 2011 - 06:32

Мodbear, спасибо за полезный совет!
  • 0

#6 QA*

QA*

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

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 12 мая 2011 - 08:17

if (typeof ODT == "undefined") {
  // нет ODT
}
else {
  // есть ODT
}
А как это выглядит в DelphiScript?
  • 0

#7 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 12 мая 2011 - 09:40

if (typeof ODT == "undefined") {
  // нет ODT
}
else {
  // есть ODT
}
А как это выглядит в DelphiScript?

Попробуйте так:
procedure Test;
var ODTExists;
  try
    ODTExists := Assigned(ODT);
  except
  end;

  if ODTExists then
    Log.Message('есть ODT')
  else
    Log.Message('нет ODT');

end;

  • 0

#8 QA*

QA*

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

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 12 мая 2011 - 10:01

modbear, спасибо! Работает!
  • 0


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

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