Change-Id: I7d000593ba77f2edf7743775dbd8d7241c33e36atags/7.4.0.beta1
@@ -1,18 +1,17 @@ | |||
package com.vaadin.tests.components.ui; | |||
import static org.hamcrest.Matchers.allOf; | |||
import static org.hamcrest.Matchers.containsString; | |||
import static org.hamcrest.Matchers.endsWith; | |||
import static org.hamcrest.Matchers.startsWith; | |||
import static org.junit.Assert.assertThat; | |||
import org.junit.Test; | |||
import com.vaadin.testbench.elements.ButtonElement; | |||
import com.vaadin.tests.tb3.SingleBrowserTest; | |||
import org.junit.Ignore; | |||
import org.junit.Test; | |||
import static org.hamcrest.Matchers.*; | |||
import static org.junit.Assert.assertThat; | |||
public class UISerializationTest extends SingleBrowserTest { | |||
@Test | |||
@Ignore //Broken on all browsers since 9696e6c3e7e952b66ac3f5c9ddc3dfca4233451e | |||
public void tb2test() throws Exception { | |||
openTestURL(); | |||
$(ButtonElement.class).first().click(); |
@@ -40,6 +40,7 @@ import org.apache.http.impl.client.DefaultHttpClient; | |||
import org.apache.http.message.BasicHttpEntityEnclosingRequest; | |||
import org.junit.After; | |||
import org.junit.Before; | |||
import org.junit.Rule; | |||
import org.junit.runner.RunWith; | |||
import org.openqa.selenium.By; | |||
import org.openqa.selenium.JavascriptExecutor; | |||
@@ -94,6 +95,10 @@ import elemental.json.impl.JsonUtil; | |||
*/ | |||
@RunWith(value = TB3Runner.class) | |||
public abstract class AbstractTB3Test extends TestBenchTestCase { | |||
@Rule | |||
public RetryOnFail retry = new RetryOnFail(); | |||
/** | |||
* Height of the screenshots we want to capture | |||
*/ |
@@ -19,20 +19,7 @@ import org.junit.rules.TestRule; | |||
import org.junit.runner.Description; | |||
import org.junit.runners.model.Statement; | |||
/** | |||
* <strong>ALWAYS</strong> declare the reason for using this test rule in a | |||
* test. | |||
* | |||
* <p> | |||
* Violators and abusers of this rule will be punished. | |||
* </p> | |||
* | |||
* @since 7.1.14 | |||
* @author Vaadin Ltd | |||
*/ | |||
public class RetryOnFail implements TestRule { | |||
private int retryCount = 1; | |||
@Override | |||
public Statement apply(Statement base, Description description) { | |||
return statement(base, description); | |||
@@ -44,6 +31,7 @@ public class RetryOnFail implements TestRule { | |||
@Override | |||
public void evaluate() throws Throwable { | |||
Throwable caughtThrowable = null; | |||
int retryCount = getRetryCount(); | |||
for (int i = 0; i <= retryCount; i++) { | |||
try { | |||
@@ -60,6 +48,16 @@ public class RetryOnFail implements TestRule { | |||
} | |||
throw caughtThrowable; | |||
} | |||
private int getRetryCount() { | |||
String retryCount = System.getProperty("com.vaadin.testbench.max.retries"); | |||
if(retryCount != null && retryCount != "") { | |||
return Integer.parseInt(retryCount); | |||
} | |||
return 4; | |||
} | |||
}; | |||
} | |||
} |
@@ -68,13 +68,15 @@ public abstract class ScreenshotTB3Test extends AbstractTB3Test { | |||
* Contains a list of screenshot identifiers for which | |||
* {@link #compareScreen(String)} has failed during the test | |||
*/ | |||
private List<String> screenshotFailures = new ArrayList<String>(); | |||
private List<String> screenshotFailures; | |||
/** | |||
* Defines TestBench screen comparison parameters before each test run | |||
*/ | |||
@Before | |||
public void setupScreenComparisonParameters() { | |||
screenshotFailures = new ArrayList<String>(); | |||
Parameters.setScreenshotErrorDirectory(getScreenshotErrorDirectory()); | |||
Parameters | |||
.setScreenshotReferenceDirectory(getScreenshotReferenceDirectory()); |
@@ -8,6 +8,7 @@ | |||
<property name="categories.include" value="" /> | |||
<property name="categories.exclude" value="" /> | |||
<property name="useLocalWebDriver" value="false" /> | |||
<property name="com.vaadin.testbench.max.retries" value="0" /> | |||
<ivy:resolve file="${tb3test.dir}/ivy.xml" conf="build, build-provided" /> | |||
<ivy:cachepath pathid="classpath.tb3.lib" conf="build, build-provided" /> | |||
@@ -39,6 +40,7 @@ | |||
<jvmarg value="-Dcategories.include=${categories.include}" /> | |||
<jvmarg value="-Dcategories.exclude=${categories.exclude}" /> | |||
<jvmarg value="-DuseLocalWebDriver=${useLocalWebDriver}" /> | |||
<jvmarg value="-Dcom.vaadin.testbench.max.retries=${com.vaadin.testbench.max.retries}" /> | |||
<test name="${junit.test.suite}" todir="${report.dir}" /> | |||
</junit> | |||