diff --git a/e2e/tests/e2e/button.spec.cy.ts b/e2e/tests/e2e/button.spec.cy.ts
index 4d1d2cc6edf08b2859a677bd5d070a6209e6916b..4c368761df15e308cbd8699501f9b1ec03263281 100644
--- a/e2e/tests/e2e/button.spec.cy.ts
+++ b/e2e/tests/e2e/button.spec.cy.ts
@@ -1,6 +1,6 @@
 import {
   addPage, addPostMessageStub, navigateToPage, selectFromDropdown
-} from '../helper-functions';
+} from '../util';
 
 describe('Button element', { testIsolation: false }, () => {
   it('creates basic buttons in editor', () => {
diff --git a/e2e/tests/e2e/dropdown.spec.cy.ts b/e2e/tests/e2e/dropdown.spec.cy.ts
index 84938cd85d84df263a463f04ee41e32731509e72..477263b6a4e3c219266f335c8b9405d7dde9bed2 100644
--- a/e2e/tests/e2e/dropdown.spec.cy.ts
+++ b/e2e/tests/e2e/dropdown.spec.cy.ts
@@ -4,7 +4,7 @@ import {
   assertValueChanged,
   setCheckbox,
   setLabelText
-} from '../helper-functions';
+} from '../util';
 
 describe('Dropdown element', { testIsolation: false }, () => {
   it('creates basic dropdown with 2 options', () => {
diff --git a/e2e/tests/editor/editor.spec.cy.ts b/e2e/tests/editor/editor.spec.cy.ts
index a26bf8446b741bc5779f803775923a7ece3e6fa5..c730c9cbb7639dc1634d30cb252832cbe0badea6 100644
--- a/e2e/tests/editor/editor.spec.cy.ts
+++ b/e2e/tests/editor/editor.spec.cy.ts
@@ -1,6 +1,6 @@
 import {
-  addButton, addPage, navigateToPage, selectFromDropdown
-} from '../helper-functions';
+  addElement, addPage, navigateToPage, selectFromDropdown
+} from '../util';
 
 describe('Basic Unit', () => {
   beforeEach(() => {
@@ -25,8 +25,7 @@ describe('Basic Unit', () => {
 
   it('creates a button element with label text', () => {
     cy.get('aspect-page-canvas').contains('Knopf').should('not.exist');
-
-    addButton();
+    addElement('Knopf', 'Sonstige');
     cy.contains('div', 'Beschriftung').find('input').clear().type('Neue Beschriftung');
     cy.get('aspect-page-canvas').contains('Neue Beschriftung').should('exist');
   });
@@ -40,8 +39,8 @@ describe('Basic Unit', () => {
     addPage();
     addPage();
     navigateToPage(1);
-    addButton();
-    addButton();
+    addElement('Knopf', 'Sonstige');
+    addElement('Knopf', 'Sonstige');
     cy.contains('div', 'Beschriftung').find('input').clear().type('PageRef');
     selectFromDropdown('Aktion', 'Seitennavigation');
     selectFromDropdown('Aktionsparameter', '2');
diff --git a/e2e/tests/helper-functions.ts b/e2e/tests/util.ts
similarity index 69%
rename from e2e/tests/helper-functions.ts
rename to e2e/tests/util.ts
index b963cb75c13e64cf476cc51ad260476fe4f51d0a..e4eee228167aea10ad442eff015a9a7f49d1450f 100644
--- a/e2e/tests/helper-functions.ts
+++ b/e2e/tests/util.ts
@@ -6,9 +6,11 @@ export function navigateToPage(pageIndex: number) {
   cy.contains(`Seite ${pageIndex}`).click();
 }
 
-export function selectFromDropdown(dropdownName: string, optionName: string) {
-  cy.contains('div', dropdownName).find('mat-select').click();
-  cy.get('.cdk-overlay-container').contains(optionName).click();
+export function selectFromDropdown(dropdownName: string, optionName: string, closeOverlay: boolean = false) {
+  cy.get('aspect-element-model-properties-component')
+    .contains('mat-form-field', dropdownName).find('mat-select').click();
+  cy.get('.cdk-overlay-container').contains(optionName).click({ force: true });
+  if (closeOverlay) cy.get('body').click();
 }
 
 export function addOption(optionName: string): void {
@@ -33,14 +35,16 @@ export function setCheckbox(labelText: string): void {
     .click();
 }
 
-export function addButton() {
+export function addElement(element: string, expansionPanel?: string): void {
   // Check if expansion panel is already open; this is important for non-isolated tests
-  cy.get('mat-expansion-panel').contains('Sonstige').then(expansionPanel => {
-    if (!expansionPanel.hasClass('mat-expanded')) {
-      cy.contains('Sonstige').click();
-    }
-  });
-  cy.contains('Knopf').click();
+  if (expansionPanel) {
+    cy.get('mat-expansion-panel').contains('Sonstige').then(expansionPanelElement => {
+      if (!expansionPanelElement.hasClass('mat-expanded')) {
+        cy.contains(expansionPanel).click();
+      }
+    });
+  }
+  cy.contains(element).click();
 }
 
 export function addPostMessageStub() {
@@ -75,3 +79,11 @@ export function assertValueChanged(id: string, value: any): void {
   //       })
   //     }));
 }
+
+export function addTextElement(text: string): void {
+  addElement('Text');
+  cy.get('.text-text').click();
+  cy.get('.ProseMirror p').clear();
+  cy.get('.ProseMirror p').type(text);
+  cy.contains('Speichern').click();
+}