diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts
index 0edff10..f7e057f 100644
--- a/e2e/src/app.e2e-spec.ts
+++ b/e2e/src/app.e2e-spec.ts
@@ -28,4 +28,14 @@ describe('convertorizr App', () => {
         expect(content).toEqual('SGVsbG8sIFdvcmxkIQ==');
       });
   });
+
+  it('should display an error message if the conversion fails', () => {
+    page.navigateTo()
+      .then(() => page.setInputFieldContent(0, 'Oh noes!'))
+      .then(() => page.selectConverterOption(0, 'Decode Base 64'))
+      .then(() => page.getErrorMessage(0))
+      .then((content: string) => {
+        expect(content).toEqual('Could not decode base64 string. Maybe corrupt input?');
+      });
+  });
 });
diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts
index da1d885..b659e5f 100644
--- a/e2e/src/app.po.ts
+++ b/e2e/src/app.po.ts
@@ -41,4 +41,13 @@ export class ConvertorizrPage {
       .element(by.cssContainingText('option', optionName))
       .click();
   }
+
+  getErrorMessage(index: number): promise.Promise<string> {
+    return element
+      .all(by.css('app-root div.inputwrapper'))
+      .get(index)
+      .element(by.css('app-error-message div.errormessage'))
+      .getWebElement()
+      .getText();
+  }
 }