Bug 1456190 - 4. Update new-session tests to use evaluateJS; r?snorp
Update the new-session tests to use evaluateJS instead of synthesizeTap,
which does not work reliably under e10s.
MozReview-Commit-ID: 7hFggZH8KPa
--- a/mobile/android/geckoview/src/androidTest/assets/www/newSession.html
+++ b/mobile/android/geckoview/src/androidTest/assets/www/newSession.html
@@ -1,20 +1,21 @@
<html>
<head><title>Hello, world!</title></head>
<body>
<p id="message"></p>
- <script>
- const msg = document.getElementById("message");
- msg.innerText = "Waiting for click...";
- window.addEventListener("click", function() {
- msg.innerText = "Opening window....";
- try {
- const win = window.open("newSession_child.html");
-
- msg.innerText = "Opened window: " + win;
- } catch (e) {
- msg.innerText = "Failed to open window: " + e;
- }
- });
- </script>
+ <a id="targetBlankLink" target="_blank" href="newSession_child.html">CLICK ME</a>
+ <button id="windowOpenButton">CLICK ME</button>
</body>
-</html>
\ No newline at end of file
+ <script>
+ const msg = document.getElementById("message");
+ msg.innerText = "Waiting for click...";
+ document.getElementById("windowOpenButton").addEventListener("click", function() {
+ msg.innerText = "Opening window....";
+ try {
+ const win = window.open("newSession_child.html");
+ msg.innerText = "Opened window: " + win;
+ } catch (e) {
+ msg.innerText = "Failed to open window: " + e;
+ }
+ });
+ </script>
+</html>
--- a/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/BaseSessionTest.kt
+++ b/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/BaseSessionTest.kt
@@ -22,17 +22,17 @@ import kotlin.reflect.KClass
* Common base class for tests using GeckoSessionTestRule,
* providing the test rule and other utilities.
*/
open class BaseSessionTest(noErrorCollector: Boolean = false) {
companion object {
const val INVALID_URI = "http://www.test.invalid/"
const val HELLO_HTML_PATH = "/assets/www/hello.html"
const val HELLO2_HTML_PATH = "/assets/www/hello2.html"
- const val NEW_SESSION_HTML_PATH = "/assets/www/newSession.html";
+ const val NEW_SESSION_HTML_PATH = "/assets/www/newSession.html"
const val NEW_SESSION_CHILD_HTML_PATH = "/assets/www/newSession_child.html"
const val CLICK_TO_RELOAD_HTML_PATH = "/assets/www/clickToReload.html"
const val TITLE_CHANGE_HTML_PATH = "/assets/www/titleChange.html"
const val DOWNLOAD_HTML_PATH = "/assets/www/download.html"
}
@get:Rule val sessionRule = GeckoSessionTestRule()