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

Фотография

TestComplete. Как сделать, чтоб переменная была доступна во всех Keywo


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

#1 gira13

gira13

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

  • Members
  • PipPip
  • 80 сообщений
  • Город:Киев

Отправлено 15 декабря 2010 - 08:44

Добрый день!
Пытаюсь записать значение в переменную проекта, но после окончания скрипта переменная пустая.
Как сделать, чтоб значение сохранялось(в KeywordTests)
  • 0

#2 Zenturio

Zenturio

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

  • Members
  • PipPipPipPip
  • 386 сообщений
  • ФИО:Дмитрий
  • Город:Смоленск - Москва


Отправлено 15 декабря 2010 - 10:49

Добрый день!
Пытаюсь записать значение в переменную проекта, но после окончания скрипта переменная пустая.
Как сделать, чтоб значение сохранялось(в KeywordTests)


Сделать модуль, там определить переменную, подключать модуль к нужному скрипту
Второй вариант - использовать ODT
  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 16 декабря 2010 - 14:49

Переместил тему в специализированный подфорум.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 gira13

gira13

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

  • Members
  • PipPip
  • 80 сообщений
  • Город:Киев

Отправлено 17 декабря 2010 - 09:40


Добрый день!
Пытаюсь записать значение в переменную проекта, но после окончания скрипта переменная пустая.
Как сделать, чтоб значение сохранялось(в KeywordTests)


Сделать модуль, там определить переменную, подключать модуль к нужному скрипту
Второй вариант - использовать ODT


А как потом модуль подключить или использовать ODT в KeywordTests, а не в обычном скрипте?

Я нашла, как можно сделать без модуля и без ODT(не знаю, сработает ли): надо использовать Return и после окончания даного KeywordTests, возвратится значение в скрипт, откуда вызвался KeywordTests
Просто у меня уже есть KeywordTests готовый, который работает и переписывать его бы не хотелось на обычный скрипт, тем более, что мне сказали, что так работает быстрее.

У меня еще вопрос, как в KeywordTests написать строку например ExcelApp.Quit();, где var ExcelApp = Sys.OleObject("Excel.Application");
Как объявить переменную, я знаю, а как потом написать какую-то команду, используя эту переменную, я не имею представления
  • 0

#5 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 21 декабря 2010 - 08:37

Здравствуйте.

Я нашла, как можно сделать без модуля и без ODT(не знаю, сработает ли): надо использовать Return и после окончания даного KeywordTests, возвратится значение в скрипт, откуда вызвался KeywordTests

В TestComplete есть два типа переменных: Permanent и Temporary. Если Permanent переменные сохраняют значение (только простого типа) между запусками проекта, то Temporary - только во время текущего запуска теста. Вероятно, Вы либо используете Temporary переменную, либо пытаетесь сохранить значение сложного типа (объект, например).

У меня еще вопрос, как в KeywordTests написать строку например ExcelApp.Quit();, где var ExcelApp = Sys.OleObject("Excel.Application");
Как объявить переменную, я знаю, а как потом написать какую-то команду, используя эту переменную, я не имею представления

Вам нужно воспользоваться операцией 'Run Code Snippet'.
  • 0
С уважением,
Дмитрий

#6 gira13

gira13

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

  • Members
  • PipPip
  • 80 сообщений
  • Город:Киев

Отправлено 23 декабря 2010 - 09:45

Здравствуйте.

Я нашла, как можно сделать без модуля и без ODT(не знаю, сработает ли): надо использовать Return и после окончания даного KeywordTests, возвратится значение в скрипт, откуда вызвался KeywordTests

В TestComplete есть два типа переменных: Permanent и Temporary. Если Permanent переменные сохраняют значение (только простого типа) между запусками проекта, то Temporary - только во время текущего запуска теста. Вероятно, Вы либо используете Temporary переменную, либо пытаетесь сохранить значение сложного типа (объект, например).

У меня еще вопрос, как в KeywordTests написать строку например ExcelApp.Quit();, где var ExcelApp = Sys.OleObject("Excel.Application");
Как объявить переменную, я знаю, а как потом написать какую-то команду, используя эту переменную, я не имею представления

Вам нужно воспользоваться операцией 'Run Code Snippet'.


А где увидеть, какой тип переменной. Я пытаюсь сохранить переменную типа Table. После выполнения скрипта(KeywordTests), если перейти на закладку Variables, то в переменной нет значений,как и не было до выполнения скрипта. Отсюда я делаю вывод, что значения не сохраняются
  • 0

#7 Paulitto

Paulitto

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

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

Отправлено 23 декабря 2010 - 10:40

А где увидеть, какой тип переменной. Я пытаюсь сохранить переменную типа Table. После выполнения скрипта(KeywordTests), если перейти на закладку Variables, то в переменной нет значений,как и не было до выполнения скрипта. Отсюда я делаю вывод, что значения не сохраняются

Переменные типа table как и object доступны только в temporary variables.
Если это проектная переменная - то она будет хранить значение только во время запуска проекта (но в это время должна быть доступна для всех скриптов данного проекта).
Если вам нужно чтобы она была доступна из скриптов разных поректов - создайте сьютную переменную, она будет хранить значение в течение запуска всего project suite.
Ну а если нужно нужно хранить между запусками всего project suite - экспортируйте ее куда нибуть, например в csv файлик или эксель.
  • 0

#8 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 24 декабря 2010 - 08:27

Здравствуйте.

А где увидеть, какой тип переменной.

Переменные создаются на закладке Variables редакторов проекта, сьюиты, keyword тестов и т.д. На этой закладке есть две таблицы: Temporary и Persistent.
  • 0
С уважением,
Дмитрий

#9 gira13

gira13

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

  • Members
  • PipPip
  • 80 сообщений
  • Город:Киев

Отправлено 13 января 2011 - 12:30

Сделать модуль, там определить переменную, подключать модуль к нужному скрипту
Второй вариант - использовать ODT


А как подключить модуль в KeywordTests?
Я попыталась подключить с помощью Set Variable Value, присваивая переменной Input["",""] типа Table(т.к. функция возвращает двумерный массив) значение типа "Code Expression" = Runner["CallMethod"]("VP_create_for.GetDataFromExcel", "C:/work/ic_vp/trunk/06.Test/TestCase/Test_Search/TVP-27_Search_VP_for_extract.xlsx", "Avto3", 20)

после запуска теста при присваивании значения переменной выдается ошибка "No column with the name "" was found"

Вроде понятно, надо указать номер колонки., но я же не могу 20 колонок(в Excel-евском файле 20 колонок) в одну записать
  • 0

#10 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 03 февраля 2011 - 07:35

Здравствуйте.

Судя по всему, ошибку выдаёт код функции VP_create_for.GetDataFromExcel, которого мы здесь, увы, не знаем.
  • 0
С уважением,
Дмитрий


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

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