diff --git a/flow-tests/pom.xml b/flow-tests/pom.xml
index 96a5a8dbe30..7e4410025a2 100644
--- a/flow-tests/pom.xml
+++ b/flow-tests/pom.xml
@@ -213,7 +213,19 @@
-
+
+ ie11
+
+
+
+ test.use.browserstack
+ true
+
+
+
+ com.vaadin.flow.testcategory.IgnoreIE11
+
+
diff --git a/flow-tests/test-dev-mode/pom.xml b/flow-tests/test-dev-mode/pom.xml
index 5a7d6372465..8290b353b2a 100644
--- a/flow-tests/test-dev-mode/pom.xml
+++ b/flow-tests/test-dev-mode/pom.xml
@@ -9,6 +9,10 @@
flow-test-dev-mode
Flow tests for dev mode
+
+ Tests extracted from flow-test-root-context in order to run
+ true production mode with transpilation in that module.
+
war
true
@@ -25,19 +29,19 @@
flow-html-components-testbench
${project.version}
-
+
com.vaadin
flow-test-common
${project.version}
-
+
org.webjars.bowergithub.polymer
polymer
[2.0.0,3)
-
+
org.webjars.bowergithub.webcomponents
webcomponentsjs
diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingView.java b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingView.java
similarity index 100%
rename from flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingView.java
rename to flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingView.java
diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionView.java b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionView.java
similarity index 100%
rename from flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionView.java
rename to flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionView.java
diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/InfoView.java b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/InfoView.java
similarity index 100%
rename from flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/InfoView.java
rename to flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/InfoView.java
diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolTemplate.java b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolTemplate.java
similarity index 100%
rename from flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolTemplate.java
rename to flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolTemplate.java
diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolView.java b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolView.java
similarity index 100%
rename from flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolView.java
rename to flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolView.java
diff --git a/flow-tests/test-root-context/src/main/webapp/frontend-es6/components/frontend-protocol.html b/flow-tests/test-dev-mode/src/main/webapp/frontend-es6/components/frontend-protocol.html
similarity index 100%
rename from flow-tests/test-root-context/src/main/webapp/frontend-es6/components/frontend-protocol.html
rename to flow-tests/test-dev-mode/src/main/webapp/frontend-es6/components/frontend-protocol.html
diff --git a/flow-tests/test-root-context/src/main/webapp/frontend/com/vaadin/flow/uitest/components/frontend-protocol.html b/flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/components/frontend-protocol.html
similarity index 100%
rename from flow-tests/test-root-context/src/main/webapp/frontend/com/vaadin/flow/uitest/components/frontend-protocol.html
rename to flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/components/frontend-protocol.html
diff --git a/flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/vaadin-flow-bundle-manifest.json b/flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/vaadin-flow-bundle-manifest.json
new file mode 100644
index 00000000000..5bf1623b07e
--- /dev/null
+++ b/flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/vaadin-flow-bundle-manifest.json
@@ -0,0 +1 @@
+{"vaadin-flow-bundle.html":["foo-bar.html"]}
\ No newline at end of file
diff --git a/flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/vaadin-flow-bundle.html b/flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/vaadin-flow-bundle.html
new file mode 100644
index 00000000000..4078a8fa5fe
--- /dev/null
+++ b/flow-tests/test-dev-mode/src/main/webapp/frontend/com/vaadin/flow/uitest/vaadin-flow-bundle.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/flow-tests/test-root-context/src/main/webapp/frontend/components/frontend-protocol.html b/flow-tests/test-dev-mode/src/main/webapp/frontend/components/frontend-protocol.html
similarity index 100%
rename from flow-tests/test-root-context/src/main/webapp/frontend/components/frontend-protocol.html
rename to flow-tests/test-dev-mode/src/main/webapp/frontend/components/frontend-protocol.html
diff --git a/flow-tests/test-root-context/src/main/webapp/frontend/externalErrorTrigger.js b/flow-tests/test-dev-mode/src/main/webapp/frontend/externalErrorTrigger.js
similarity index 100%
rename from flow-tests/test-root-context/src/main/webapp/frontend/externalErrorTrigger.js
rename to flow-tests/test-dev-mode/src/main/webapp/frontend/externalErrorTrigger.js
diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingIT.java b/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingIT.java
similarity index 100%
rename from flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingIT.java
rename to flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/ClientSideExceptionHandlingIT.java
diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionIT.java b/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionIT.java
similarity index 100%
rename from flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionIT.java
rename to flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/ExportedJSFunctionIT.java
diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/InfoIT.java b/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/InfoIT.java
similarity index 100%
rename from flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/InfoIT.java
rename to flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/InfoIT.java
diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolIT.java b/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolIT.java
similarity index 100%
rename from flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolIT.java
rename to flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/frontend/FrontendProtocolIT.java
diff --git a/flow-tests/test-root-context/pom.xml b/flow-tests/test-root-context/pom.xml
index d074b2a60ab..da06a0c885b 100644
--- a/flow-tests/test-root-context/pom.xml
+++ b/flow-tests/test-root-context/pom.xml
@@ -92,16 +92,6 @@
start
-
-
-
-
- vaadin.frontend.url.es5
- context://frontend-es6/
-
-
-
stop-jetty
@@ -172,7 +162,9 @@
productionMode
- vaadin.productionMode
+
+ test.use.browserstack
+ true
diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/BodyScrollIT.java b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/BodyScrollIT.java
index d56e5135a0e..3a7ac4f05d4 100644
--- a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/BodyScrollIT.java
+++ b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/BodyScrollIT.java
@@ -18,9 +18,9 @@
import org.junit.Assert;
import org.junit.Test;
import org.openqa.selenium.By;
-import org.openqa.selenium.ie.InternetExplorerDriver;
import com.vaadin.flow.testutil.ChromeBrowserTest;
+import com.vaadin.testbench.parallel.BrowserUtil;
public class BodyScrollIT extends ChromeBrowserTest {
@@ -31,7 +31,7 @@ public void noScrollAttributeForBody() {
String scrollAttribute = findElement(By.tagName("body"))
.getAttribute("scroll");
- if (getDriver() instanceof InternetExplorerDriver) {
+ if (BrowserUtil.isIE(getDesiredCapabilities())) {
Assert.assertTrue("The 'scroll' attribute of body should be empty",
scrollAttribute.isEmpty());
} else {
diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/CompositeIT.java b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/CompositeIT.java
index 978b44dbe5a..90f280c5252 100644
--- a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/CompositeIT.java
+++ b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/CompositeIT.java
@@ -51,6 +51,7 @@ public void changeOnClient() {
@Test
public void htmlImportOfContentLoaded() {
open();
+ waitForElementPresent(By.id(CompositeView.COMPOSITE_PAPER_SLIDER));
TestBenchElement paperSlider = (TestBenchElement) findElement(
By.id(CompositeView.COMPOSITE_PAPER_SLIDER));
Assert.assertEquals("100", paperSlider.getPropertyString("max"));