Поддержка объектов TestObject в репозитории объектов и динамическое создание объектов TestObject в сценарии - Katalon Studio - PullRequest
1 голос
/ 07 марта 2019

Первоначально, когда я начал веб-автоматизацию с использованием Katalon Studio, я захватывал объекты, сохранял их в Object Repository и затем использовал их в своем сценарии. Это было немного хлопотно, теперь я поместил теги id на все веб-элементы, которые, скорее всего, будут использоваться в моем веб-приложении, и я создаю объекты в моем скрипте всякий раз, когда они мне нужны, используя эту CustomKeyword, которую я написал :

/**
 *
 * @param buttonID
 * @return TestObject representing the newly created control
 */
@Keyword
public TestObject createControl(String controlID){
    TestObject newControl = new TestObject()
    WebUI.modifyObjectProperty(newControl, 'id', 'equals', controlID, true)
    return newControl
}

Несмотря на то, что это работает, я хочу знать, будет ли хорошей идеей не иметь никаких объектов в Object Repository . Поддержание репозитория объектов было большой работой, поэтому я обратился к этому методу, но я слишком новичок в Katalon Studio , чтобы знать, хорошая это идея или нет. Я не смог найти никакой информации об этом в официальных документах Katalon, поэтому я решил спросить здесь.

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Я тоже использую ваш подход.Я обычно использую одну строку для создания объекта:

TestObject myObject = new TestObject().addProperty('css', ConditionType.EQUALS, 'css selector')

Хранилище объектов просто плохо масштабируется.И это очень трудно поддерживать.

На форуме Каталона есть интересные обсуждения ( здесь , здесь и особенно здесь , но естьболее интересные обсуждения, чтобы посмотреть).

Недостатком, о котором я могу подумать, является то, что если вы используете объектную модель страницы, вы должны держать элементы управления отдельно от самого теста.Решением было бы сохранить селекторы (id, name, css, xpath или другие) в отдельном файле (например, в таблице Excel).

1 голос
/ 08 марта 2019

Это зависит от ваших целей и навыков.Сохранение репозитория объекта поможет пользователю иметь визуальное представление о том, как хранится объект.Это также помогает хранить несколько атрибутов, которые могут быть включены или исключены одним щелчком мыши.Эти атрибуты могут быть сгенерированы Spy или Record Tools.Ваш подход к кодированию также работает, если вы знаете программирование.Тем не менее, вы должны решить, локатор самостоятельно.Если выбранный локатор больше не работает, вам нужно создать еще один.Находясь в хранилище объектов, если идентификатор изменился, тестировщик выбирает класс и другие атрибуты

...