Skip to content
This repository was archived by the owner on Dec 27, 2022. It is now read-only.

Commit 102ad1f

Browse files
committed
Add remove existed External links method
Add method allows to remove existed and remained External Links in case if tests won't be able to clean up after their execution. This method will be executed before tesing class execution. Update login pattern for w3c tests, make it as in fuctional tests
1 parent e940ad0 commit 102ad1f

4 files changed

Lines changed: 37 additions & 6 deletions

File tree

functional-tests-jcommune/src/test/java/org/jtalks/tests/jcommune/ExternalLinksTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
import org.jtalks.tests.jcommune.webdriver.exceptions.ValidationException;
88
import org.slf4j.Logger;
99
import org.slf4j.LoggerFactory;
10-
import org.testng.annotations.AfterMethod;
11-
import org.testng.annotations.BeforeClass;
12-
import org.testng.annotations.Parameters;
13-
import org.testng.annotations.Test;
10+
import org.testng.annotations.*;
1411

1512
import static org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric;
1613
import static org.jtalks.tests.jcommune.utils.TestStringUtils.randomUrl;
@@ -32,6 +29,7 @@ public void signInAsAdmin(String appUrl) {
3229
mainPage.logOutIfLoggedIn(driver);
3330
try {
3431
Users.signIn(User.admin());
32+
ExternalLinks.removeExistedExternalLinks();
3533
} catch (ValidationException e) {
3634
logger.error("Can't login by user [{}]", User.admin().getUsername());
3735
throw new IllegalStateException("Can't login by user " + User.admin().getUsername());

html-w3c-tests/src/test/resources/log4j.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
2121
<param name="Encoding" value="utf8"/>
2222
<layout class="org.apache.log4j.PatternLayout">
23-
<param name="ConversionPattern" value="%d{ISO8601} [%-5p][%-10.10t][%32.32c] - %m%n"/>
23+
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}][%p][%X{testClass}][%X{testMethod}][%c{3}] - %m%n%n"/>
2424
</layout>
2525
</appender>
2626
<logger name="org.restlet" additivity="false">

jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/action/ExternalLinks.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.jtalks.tests.jcommune.webdriver.action;
22

33
import junit.framework.AssertionFailedError;
4-
import org.jtalks.tests.jcommune.assertion.Existence;
54
import org.jtalks.tests.jcommune.utils.DriverMethodHelp;
65
import org.jtalks.tests.jcommune.webdriver.JCommuneSeleniumConfig;
76
import org.jtalks.tests.jcommune.webdriver.entity.externallink.ExternalLink;
@@ -13,6 +12,7 @@
1312
import org.slf4j.LoggerFactory;
1413
import ru.yandex.qatools.allure.annotations.Step;
1514

15+
import java.util.Iterator;
1616
import java.util.List;
1717

1818
import static org.jtalks.tests.jcommune.utils.ReportNgLogger.info;
@@ -158,4 +158,24 @@ private static WebElement getLinkLine(ExternalLink externalLink) {
158158
}
159159
return null;
160160
}
161+
162+
public static void removeExistedExternalLinks() {
163+
info("Remove existed External links");
164+
openExternalLinksDialog();
165+
List<WebElement> links = externalLinksDialog.getExternalLinksFromDialog();
166+
Iterator <WebElement> iterator = links.iterator();
167+
if (links.size() != 0) {
168+
LOGGER.info("Going to remove {} links", links.size());
169+
while (iterator.hasNext()) {
170+
WebElement link = iterator.next();
171+
externalLinksDialog.clickFistTrashIconButton();
172+
externalLinksDialog.clickRemoveLinkButton();
173+
sleep(500);
174+
iterator.remove();
175+
}
176+
}else {
177+
LOGGER.info("There are no External links. There is nothing to remove");
178+
externalLinksDialog.closeDialog();
179+
}
180+
}
161181
}

jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/page/ExternalLinksDialog.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
public class ExternalLinksDialog {
1515
public static final String externalLinksFromDialogSel = "//div[@class='modal-body']/table/tbody/tr";
1616
public static final String externalLinksHrefFromDialogSel = "td[@class='link-url']";
17+
public static final String firstTrachIconSel = "/html/body/form/div[2]/table/tbody/tr[1]/td[5]/a";
1718
//class name
1819
public static final String externalLinksRemoveIconFromDialogSel = "icon-trash";
1920
public static final String externalLinksEditIconFromDialogSel = "icon-pencil";
@@ -40,6 +41,8 @@ public class ExternalLinksDialog {
4041
private WebElement closeDialogButton;
4142
@FindBy(xpath = externalLinksFromDialogSel)
4243
private List<WebElement> externalLinksFromDialog;
44+
@FindBy(xpath = firstTrachIconSel)
45+
private WebElement firstTrachIconButton;
4346

4447
public ExternalLinksDialog(WebDriver driver) {
4548
PageFactory.initElements(driver, this);
@@ -90,11 +93,21 @@ public void clickRemoveLinkButton() {
9093
removeLinkBut.click();
9194
}
9295

96+
@Step
97+
public void clickFistTrashIconButton() {
98+
info("Clicking First Trash icon button");
99+
firstTrachIconButton.click();
100+
}
101+
93102
public List<WebElement> getExternalLinks() {
94103
return externalLinks;
95104
}
96105

97106
public List<WebElement> getExternalLinksFromDialog() {
98107
return externalLinksFromDialog;
99108
}
109+
110+
public WebElement getFirstTrachIconButton() {
111+
return firstTrachIconButton;
112+
}
100113
}

0 commit comments

Comments
 (0)