Добавление в проект нового Project Item во время выполнения скрипта
#1
Отправлено 11 мая 2011 - 12:37
Можно ли сделать так, чтобы TestComplete в процессе выполнения скрипта проверял наличие в скрипте элемента ODT и, если его нет, создавал его сам.
TestComplete 7.52
DelphiScript
#2
Отправлено 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
#3
Отправлено 12 мая 2011 - 04:44
#4
Отправлено 12 мая 2011 - 06:29
Добавлять project item'ы динамически нельзя. Если вы планируете использовать какой-то айтем в тесте - надо добавить его заранее вручную.А чтобы проверить наличие в проекте ODT надо проверить, определен ли скриптовый объект (идентификатор) ODT. В JScript, например, это делается вот так:Мне нужно проверять наличие самого ODT в скрипте, если его нет, нужно его добавлять.
if (typeof ODT == "undefined") {
// нет ODT
}
else {
// есть ODT
}
#5
Отправлено 12 мая 2011 - 06:32
#6
Отправлено 12 мая 2011 - 08:17
if (typeof ODT == "undefined") {
// нет ODT
}
else {
// есть ODT
}А как это выглядит в DelphiScript?
#7
Отправлено 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;
#8
Отправлено 12 мая 2011 - 10:01
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных


