From 25add228d809a78a28a0702ed2904945c549cfca Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Thu, 7 Sep 2017 12:10:26 +0200 Subject: [PATCH] Smoke test: Capture screenshots in tests --- test/smoke/src/areas/css/css.test.ts | 6 ++++++ test/smoke/src/areas/search/search.test.ts | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/test/smoke/src/areas/css/css.test.ts b/test/smoke/src/areas/css/css.test.ts index 96d5150319b..e71356ddba5 100644 --- a/test/smoke/src/areas/css/css.test.ts +++ b/test/smoke/src/areas/css/css.test.ts @@ -11,11 +11,13 @@ describe('CSS', () => { let app: SpectronApplication; before(() => { app = new SpectronApplication(); return app.start(); }); after(() => app.stop()); + beforeEach(function () { app.createScreenshotCapturer(this.currentTest); }); it('verifies quick outline', async () => { await app.workbench.quickopen.openFile('style.css'); const outline = await app.workbench.editor.openOutline(); const elements = await outline.getQuickOpenElements(); + app.screenshot.capture('CSS Outline result'); assert.equal(elements.length, 2, `Did not find two outline elements`); }); @@ -25,10 +27,12 @@ describe('CSS', () => { await app.client.type('.foo{}'); let warning = await app.client.waitForElement(Problems.getSelectorInEditor(ProblemSeverity.WARNING)); + app.screenshot.capture('CSS Warning in editor'); assert.ok(warning, `Warning squiggle is not shown in 'style.css'.`); await app.workbench.problems.showProblemsView(); warning = await app.client.waitForElement(Problems.getSelectorInProblemsView(ProblemSeverity.WARNING)); + app.screenshot.capture('CSS Warning in problems view'); assert.ok(warning, 'Warning does not appear in Problems view.'); await app.workbench.problems.hideProblemsView(); }); @@ -39,11 +43,13 @@ describe('CSS', () => { await app.client.type('.foo{}'); let error = await app.client.waitForElement(Problems.getSelectorInEditor(ProblemSeverity.ERROR)); + app.screenshot.capture('CSS Error in editor'); assert.ok(error, `Warning squiggle is not shown in 'style.css'.`); const problems = new Problems(app); await problems.showProblemsView(); error = await app.client.waitForElement(Problems.getSelectorInProblemsView(ProblemSeverity.ERROR)); + app.screenshot.capture('CSS Error in probles view'); assert.ok(error, 'Warning does not appear in Problems view.'); await problems.hideProblemsView(); }); diff --git a/test/smoke/src/areas/search/search.test.ts b/test/smoke/src/areas/search/search.test.ts index 07a8a48012f..91faf57c9f5 100644 --- a/test/smoke/src/areas/search/search.test.ts +++ b/test/smoke/src/areas/search/search.test.ts @@ -10,11 +10,15 @@ describe('Search', () => { let app: SpectronApplication; before(() => { app = new SpectronApplication(); return app.start(); }); after(() => app.stop()); + beforeEach(function () { app.createScreenshotCapturer(this.currentTest); }); it('searches for body & checks for correct result number', async function () { await app.workbench.search.openSearchViewlet(); await app.workbench.search.searchFor('body'); + const result = await app.workbench.search.getResultText(); + + app.screenshot.capture('Search result'); assert.equal(result, '7 results in 4 files'); }); @@ -30,6 +34,7 @@ describe('Search', () => { await app.workbench.search.setFilesToIncludeTextAndSearch(''); await app.workbench.search.hideQueryDetails(); + app.screenshot.capture('Search result with file includes'); assert.equal(results, '4 results in 1 file'); }); @@ -40,6 +45,7 @@ describe('Search', () => { await app.workbench.search.removeFileMatch(1); const result = await app.workbench.search.getResultText(); + app.screenshot.capture('Search result after removing'); assert.equal(result, '3 results in 3 files', 'Result number after dismissal does not match to expected.'); }); @@ -52,6 +58,7 @@ describe('Search', () => { await app.workbench.saveOpenedFile(); const result = await app.workbench.search.getResultText(); + app.screenshot.capture('Replace result'); assert.equal(result, '3 results in 3 files', 'Result number after replacemenet does not match to expected.'); }); }); \ No newline at end of file -- GitLab