diff --git a/tests/system/shared/editor_utils.py b/tests/system/shared/editor_utils.py
index de32e3b6c36e8ca9ff16904b85112103ea1ef2eb..f0e129aead9a7a01317948a2570ef9e1fc1f5e43 100644
--- a/tests/system/shared/editor_utils.py
+++ b/tests/system/shared/editor_utils.py
@@ -62,3 +62,13 @@ def replaceEditorContent(editor, newcontent):
     type(editor, "<Ctrl+A>")
     type(editor, "<Delete>")
     type(editor, newcontent)
+
+def typeLines(editor, lines):
+    if isinstance(lines, (str, unicode)):
+        lines = [lines]
+    if isinstance(lines, (list, tuple)):
+        for line in lines:
+            type(editor, line)
+            type(editor, "<Enter>")
+    else:
+        test.warning("Illegal parameter passed to typeLines()")
diff --git a/tests/system/shared/project_explorer.py b/tests/system/shared/project_explorer.py
index 21350642ec5dbe4ba5f4ad4b047d1fffe80d0baa..89ff31c5e2db306428d872084a1d0ac48f147bef 100644
--- a/tests/system/shared/project_explorer.py
+++ b/tests/system/shared/project_explorer.py
@@ -93,3 +93,13 @@ def switchToBuildOrRunSettingsFor(targetCount, currentTarget, projectSettings, i
     mouseClick(targetSel, xToClick, yToClick, 0, Qt.LeftButton)
     return True
 
+# this function switches "Run in terminal" on or off in a project's run settings
+# param targetCount specifies the number of targets currently defined (must be correct!)
+# param currentTarget specifies the target for which to switch into the specified settings (zero based index)
+# param runInTerminal specifies if "Run in terminal should be turned on (True) or off (False)
+def setRunInTerminal(targetCount, currentTarget, runInTerminal=True):
+    switchViewTo(ViewConstants.PROJECTS)
+    switchToBuildOrRunSettingsFor(targetCount, currentTarget, ProjectSettings.RUN)
+    ensureChecked("{container=':Qt Creator.scrollArea_QScrollArea' text='Run in terminal'\
+                    type='QCheckBox' unnamed='1' visible='1'}", runInTerminal)
+    switchViewTo(ViewConstants.EDIT)
diff --git a/tests/system/suite_qtquick/tst_qtquick_creation2/test.py b/tests/system/suite_qtquick/tst_qtquick_creation2/test.py
index fc99b709013f5f0d9d26f1f9a221ef623f2b38d2..c87cd78ddb9d01c366446f21e307f768c79a6ef9 100644
--- a/tests/system/suite_qtquick/tst_qtquick_creation2/test.py
+++ b/tests/system/suite_qtquick/tst_qtquick_creation2/test.py
@@ -46,8 +46,7 @@ def subprocessFunction():
     dragItemBy(textEdit, 30, 30, 50, 50, 0, Qt.LeftButton)
     test.log("Test editing")
     textEdit.cursorPosition = 0
-    type(textEdit, "This text is entered by Squish...")
-    type(textEdit, "<Return>")
+    typeLines(textEdit, "This text is entered by Squish...")
     test.log("Closing QmlApplicationViewer")
     sendEvent("QCloseEvent", "{type='QmlApplicationViewer' unnamed='1' visible='1'}")