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

Программирование на Python для тестировщиков
онлайн, начало 23 октября
Тестирование безопасности
онлайн, начало 28 октября
Школа для начинающих тестировщиков
онлайн, начало 22 октября
Автоматизатор мобильных приложений
онлайн, начало 28 октября
Фотография

TestComplete. Сокращаем названия полей в тестах

testcompete вопрос сокращение полей

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

#1 Prospero

Prospero

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

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

Отправлено 02 июля 2016 - 11:36

Всем доброго дня и хорошего настроения!

 

Не так давно начала заниматься автоматизированным тестированием десктопного приложения (написано оно на Delfi, на всякий случай), для этого был выбран TestComplete 7.5. В программировании у меня имеются кое-какие знания, но в целом приходится разбираться по ходу написания тестов. Ранее работала с Selenium на C# (но там мне помогали ещё и программисты). Здесь же я выбрала JScript. По старой памяти хотелось бы и в TestComplete избежать повторения кода и разбить его по максимуму на классы.

Теперь к сути.

В разных тестах часто повторяются одни и те же кнопки и поля. Я решила их вынести в отдельный скриптовый файл Fields. Это позволило бы избежать повторения и длинных строк в самих тестах. По моей задумке при выполнении теста, TestComplete ссылался бы на этот Fields. В случае изменения дерева поля или кнопки - я бы редактировала только одну строку, а не в каждом тесте.

Т.е. раньше было в тесте: Sys.Process...<...>.Keys("1333");

Теперь: в классе Fields: button = Sys.Process...<...>;

А в классе с тестами уже так: button.Click(); 

В fields я просто создавала глобальные переменные и указывала процесс.

В какой-то момент выяснилось, что так оно не работает. TestCompete теперь перед запуском теста начал искать все процессы из Fields. А некоторые из них были недоступны в данный момент времени (т.е. в программе надо было кликать на какие-то кнопки и вызывать другие формы, которые были скрыты). Я-то полагала, что он будет обращаться к этим переменным только когда в тесте до них дойдёт, а не перед тестом. 

Теперь вопрос. Можно ли как-то решить эту проблему? Чтобы он не искал процессы из Fields перед запуском теста? Или же нужно каждое поле прописывать в отдельных function и предусматривать ещё действия с каждой function(то кликнуть, то ввести с клавиатуры, то проверить существование)?  


  • 0

#2 Сергей

Сергей

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 171 сообщений
  • Город:Москва

Отправлено 04 июля 2016 - 08:08

Нет, так не надо. Создайте общие файлы, в которых опишите объекты вашего приложения через объекты jscript. Как создать объекты в jscript можно нагуглить)


  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#3 Сергей

Сергей

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 171 сообщений
  • Город:Москва

Отправлено 04 июля 2016 - 08:50

Можно ещё пару быстрых и красивых вариантов - 1. мапинг имен 2. ODT. Но я предпочитаю предыдущий вариант с описанием объектов. Он конечно не лишен недостатков, но мне подходит в связи с использованием одних и тех же объектов в разных проектах с полным контролем (например на маппинг нельзя ссылаться в новом проекте - либо копию делать либо новый создавать, в ODT тоже не увидел преимуществ).


  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#4 Prospero

Prospero

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

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

Отправлено 04 июля 2016 - 11:00

Спасибо за помощь! Буду делать через объекты :)


  • 0


Организация автоматизированного тестирования
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн
Школа Тест-Аналитика
онлайн




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

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

Яндекс.Метрика
Реклама на портале