Selenium + Java + TestNG + allure2.
Я попытался сделать проверку работы и редирект ссылок путем поочередного нажатия на них. После того как тесты были написаны, я задумался над их оптимизацией.
Суть проблемы:
В футере имеется 8 кликабельных иконок с социальными сетями. При нажатии на любую из них - открывается новая вкладка, и фокус автоматом перебрасывается на нее.
Я написал на каждую из иконок отдельный тест:
PageFooter pageFooter = new PageFooter(BaseDriver.getDriver());
pageFooter.clickFacebook();
BaseMethods.waitUntilPageBeenLoaded(5);
BaseMethods.handleOpenedWindow();
Assert.assertEquals(BaseDriver.getDriver().getCurrentUrl(), Property.getProperties("social.facebook"));
Assert.assertTrue(BaseMethods.getResponseCodeStatus(BaseDriver.getDriver().getCurrentUrl()));
BaseMethods.handleParentWindow(parentHandle);
Класс BaseMethods - отдельный общий класс, где я создал n-ое кол-во статических универсальных методов, которые могут быть вызваны из любого теста.
Собственно, проблема состоит в том, что код выше, отличается от остальных 7-ми лишь двумя строчками:
pageFooter.clickFacebook();
Assert.assertEquals(BaseDriver.getDriver().getCurrentUrl(), Property.getProperties("social.facebook"));
И после этого у меня возник вопрос - как же можно было бы объеденить эти тестовые методы в один, где проверяется поочередно все ссылки, чтобы было одновременно не громоздко, и оптимально?
Подскажите пожалуйста, поделитесь опытом, коего у меня мало.
P.s. думал над тем, чтобы написать цикл, который будет кликать по очереди на элементы (иконки), которые я заранее сунул в список. Но, мне кажется, что есть варианты по-лучше.