diff --git a/functional-tests-jcommune/src/test/java/org/jtalks/tests/jcommune/ExternalLinksTest.java b/functional-tests-jcommune/src/test/java/org/jtalks/tests/jcommune/ExternalLinksTest.java
index f41372cc..f562cf13 100644
--- a/functional-tests-jcommune/src/test/java/org/jtalks/tests/jcommune/ExternalLinksTest.java
+++ b/functional-tests-jcommune/src/test/java/org/jtalks/tests/jcommune/ExternalLinksTest.java
@@ -7,10 +7,7 @@
import org.jtalks.tests.jcommune.webdriver.exceptions.ValidationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Parameters;
-import org.testng.annotations.Test;
+import org.testng.annotations.*;
import static org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric;
import static org.jtalks.tests.jcommune.utils.TestStringUtils.randomUrl;
@@ -32,6 +29,7 @@ public void signInAsAdmin(String appUrl) {
mainPage.logOutIfLoggedIn(driver);
try {
Users.signIn(User.admin());
+ ExternalLinks.removeExistedExternalLinks();
} catch (ValidationException e) {
logger.error("Can't login by user [{}]", User.admin().getUsername());
throw new IllegalStateException("Can't login by user " + User.admin().getUsername());
diff --git a/html-w3c-tests/src/test/resources/log4j.xml b/html-w3c-tests/src/test/resources/log4j.xml
index f7f169f2..fffc6799 100644
--- a/html-w3c-tests/src/test/resources/log4j.xml
+++ b/html-w3c-tests/src/test/resources/log4j.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/action/ExternalLinks.java b/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/action/ExternalLinks.java
index f5e489ed..cc05549a 100644
--- a/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/action/ExternalLinks.java
+++ b/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/action/ExternalLinks.java
@@ -1,7 +1,6 @@
package org.jtalks.tests.jcommune.webdriver.action;
import junit.framework.AssertionFailedError;
-import org.jtalks.tests.jcommune.assertion.Existence;
import org.jtalks.tests.jcommune.utils.DriverMethodHelp;
import org.jtalks.tests.jcommune.webdriver.JCommuneSeleniumConfig;
import org.jtalks.tests.jcommune.webdriver.entity.externallink.ExternalLink;
@@ -13,6 +12,7 @@
import org.slf4j.LoggerFactory;
import ru.yandex.qatools.allure.annotations.Step;
+import java.util.Iterator;
import java.util.List;
import static org.jtalks.tests.jcommune.utils.ReportNgLogger.info;
@@ -158,4 +158,24 @@ private static WebElement getLinkLine(ExternalLink externalLink) {
}
return null;
}
+
+ public static void removeExistedExternalLinks() {
+ info("Remove existed External links");
+ openExternalLinksDialog();
+ List links = externalLinksDialog.getExternalLinksFromDialog();
+ Iterator iterator = links.iterator();
+ if (links.size() != 0) {
+ LOGGER.info("Going to remove {} links", links.size());
+ while (iterator.hasNext()) {
+ WebElement link = iterator.next();
+ externalLinksDialog.clickFistTrashIconButton();
+ externalLinksDialog.clickRemoveLinkButton();
+ sleep(500);
+ iterator.remove();
+ }
+ }else {
+ LOGGER.info("There are no External links. There is nothing to remove");
+ externalLinksDialog.closeDialog();
+ }
+ }
}
diff --git a/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/page/ExternalLinksDialog.java b/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/page/ExternalLinksDialog.java
index 4c3d345d..8ba884bf 100644
--- a/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/page/ExternalLinksDialog.java
+++ b/jcommune-webdriver/src/main/java/org/jtalks/tests/jcommune/webdriver/page/ExternalLinksDialog.java
@@ -14,6 +14,7 @@
public class ExternalLinksDialog {
public static final String externalLinksFromDialogSel = "//div[@class='modal-body']/table/tbody/tr";
public static final String externalLinksHrefFromDialogSel = "td[@class='link-url']";
+ public static final String firstTrachIconSel = "/html/body/form/div[2]/table/tbody/tr[1]/td[5]/a";
//class name
public static final String externalLinksRemoveIconFromDialogSel = "icon-trash";
public static final String externalLinksEditIconFromDialogSel = "icon-pencil";
@@ -40,6 +41,8 @@ public class ExternalLinksDialog {
private WebElement closeDialogButton;
@FindBy(xpath = externalLinksFromDialogSel)
private List externalLinksFromDialog;
+ @FindBy(xpath = firstTrachIconSel)
+ private WebElement firstTrachIconButton;
public ExternalLinksDialog(WebDriver driver) {
PageFactory.initElements(driver, this);
@@ -90,6 +93,12 @@ public void clickRemoveLinkButton() {
removeLinkBut.click();
}
+ @Step
+ public void clickFistTrashIconButton() {
+ info("Clicking First Trash icon button");
+ firstTrachIconButton.click();
+ }
+
public List getExternalLinks() {
return externalLinks;
}
@@ -97,4 +106,8 @@ public List getExternalLinks() {
public List getExternalLinksFromDialog() {
return externalLinksFromDialog;
}
+
+ public WebElement getFirstTrachIconButton() {
+ return firstTrachIconButton;
+ }
}