по строковому имени процесса сделать действие
#1
Отправлено 06 ноября 2007 - 11:15
tc 5.12
Привет Всем
Проблема вот в чём:
Есть файл 123.txt
в нём написаны имена процессов:
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', 'CE')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '7')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '8')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '9')
и так далее
теперь в скрипте я считываю имена процессов в массив(olevariant)
mass_obj := BuiltIn.CreateVariantArray(1, kk); // присваиваю массиву длину
while not eof(f) do
begin
kk := kk + 1;
readln( f, s);
mass_obj[kk] := s;
end;
потом в другой процедуре пытаюсь кликнуть
l_mass_obj := BuiltIn.CreateVariantArray(1, dl_mass); // присваиваю массиву длину
l_mass_obj := mass_obj;
tpm := l_mass_obj[l_i];
tpm.click();
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу
#2
Отправлено 06 ноября 2007 - 11:39
delphiscript
tc 5.12
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу
т.е. вы пытаетесь из строк сделать объекты?
это, конечно, возможно, но не так, как вы пытаетесь сделать (через VariantArray)
если я правильно понял, задача звучит так: есть текстовый файл, в котором хранятся имена объектов, по которым надо кликать. Хранятся в текстовом виде.
Вам проще сделать так: считать содержимое файла в массив, а затем для каждого элемента массива делать так
допустим, массив строк называется arr
Evaluate (arr[i] + '.Click();')не уверен, но по-моему знак "+" в делфискрипте означает конкатенацию строк.
Основной момент здесь - это использование функции Evaluate, которая позволяет выполнить любой кусок текста, как код скрипта
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#3
Отправлено 06 ноября 2007 - 12:03
delphiscript
tc 5.12
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу
т.е. вы пытаетесь из строк сделать объекты?
это, конечно, возможно, но не так, как вы пытаетесь сделать (через VariantArray)
если я правильно понял, задача звучит так: есть текстовый файл, в котором хранятся имена объектов, по которым надо кликать. Хранятся в текстовом виде.
Вам проще сделать так: считать содержимое файла в массив, а затем для каждого элемента массива делать так
допустим, массив строк называется arrEvaluate (arr[i] + '.Click();')не уверен, но по-моему знак "+" в делфискрипте означает конкатенацию строк.
Основной момент здесь - это использование функции Evaluate, которая позволяет выполнить любой кусок текста, как код скрипта
ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить на
Evaluate (arr[i] + '.Click;')
#4
Отправлено 06 ноября 2007 - 12:29
ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить наEvaluate (arr[i] + '.Click;')
да, в ДелфиСкрипте я не силен, однако. Ну, работает - и отлично
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#5
Отправлено 07 ноября 2007 - 02:53
ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить наEvaluate (arr[i] + '.Click;')
да, в ДелфиСкрипте я не силен, однако. Ну, работает - и отлично
Нет, вы правильно написали, по идее у события "клик" есть параметры, а если их не указывать то можно ставить пустые скобки, но видимо сама функция "Evaluate" чего то там преобразовывает и поэтому потом ругается на эти самые скобки
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных