Объединение рамок Галена и Протрактора

История

Мы широко использовали платформу Protractor и создали довольно большую тестовую базу кода. Мы также следовали шаблону Page Object для организации наших тестов.

Недавно мы начали использовать платформу Galen, чтобы заполнить пробел в визуальном / макетном / адаптивном тестировании дизайна. Нам очень нравится этот фреймворк, и мы хотели бы продолжить его использование.

Самая большая проблема сейчас - это Page Objects. Обе платформы имеют свои собственные способы определения объектов страницы.

Вот пример объекта страницы транспортира:

var LoginPage = function () {
    this.username = element(by.id("username"));
    this.password = element(by.id("password"));

    this.loginButton = element(by.binding("buttonText"));
};

module.exports = new LoginPage();

И вот пример объекта страницы Гален:

this.LoginPage = $page("Login page", {
    username: '#username',
    password: '#password',
    loginButton: 'button[ng-click*=login]'
});

В настоящее время мы дублируем локаторы и повторяем себя - нарушая принцип СУХОЙ. И еще одна последующая проблема заключается в том, что в настоящее время Galen поддерживает только методы определения местоположения "по css", "по id" или "по xpath", что означает, что объекты страницы не отображаются один на один.

Вопрос

Есть ли способ избежать повторения объектов страницы и локаторов элементов, объединяющих вместе транспортир и Гален?

1 ответ

Решение

Учитывая доступную информацию, я не вижу прямого способа объединить ее.

Тем не менее, Galen и Protractor доступны на Github, и я не вижу больше препятствий для их выравнивания / разветвления / модификации в соответствии с вашими потребностями.

Лучший выстрел, который я вижу, - это внести свой вклад в рамки Галена и расширить их GalenPages.jsс функциональностью сопоставления с объектами страницы транспортира. Хотя в этом.js-файле содержится более 600 строк кода, это кажется выполнимым при разумных усилиях.

По крайней мере, открытие проблемы в проекте Galen GitHub в этом направлении стоило бы усилий.

Другие вопросы по тегам