diff options
author | Thomas Steur <tsteur@users.noreply.github.com> | 2019-05-09 01:26:39 +0300 |
---|---|---|
committer | diosmosis <diosmosis@users.noreply.github.com> | 2019-05-09 01:26:39 +0300 |
commit | 76e60590f486f33a38e7ea08bf941fa57ac904c5 (patch) | |
tree | 695bafa55fcd74d79322ed3885e90c4a17ff3e01 /plugins/Referrers | |
parent | 461a48e6d7050f73b1c25db98b6f96cff86bd043 (diff) |
Switch UI tests from phantomjs to chrome headless (#14421)
* Make sure xss entries is always an array.
* Update expected test files and submodule.
* Regenerate broken omnifixture dump.
* poc conversion to chrome headless for UI tests, single test works locally
* Get single test to pass on travis & local w/ headless chrome.
* Remove old diff viewer generation, and get output to look the same as before when there is a failure.
* Add global timeout & get ViewDataTableTest to pass.
* Convert BarGraph_spec.js.
* Convert EmptySite_spec.
* Update EvolutionGraph spec for chrome headless.
* Convert GoalsTable test & find/replace for common changes.
* Convert MeasurableManager.
* Another find & replace.
* Get Menus/OptOutForm to pass w/ chrome headless
* Convert PeriodSelector, PieGraph & PivotByDimension UI tests.
* undo unrelated debugging change
* Convert QuickAccess UI tests
* Converts ActionsDataTable UI tests
* reset viewport after each testsuite
* Converts RowEvolution UI tests
* Converts Theme UI tests
* Converts SiteSelector UI tests
* Converts CustomVariables UI test
* Converts DBStats UI test
* Ignore empty responses when calling api/controller
* Converts Dashboard UI tests
* Converts Live UI tests
* Converts SimpleUI tests
* Converts Installation UI tests
* Converts ImageGraph UI tests
* Converts Login UI tests
* Converts Marketplace UI tests
* Converts Insights UI tests
* Converts ReportExporting UI tests
* Converts UIIntegration tests
* Updates ViewDataTable UI tests
* Converts CoreUpdater UI tests
* Converts UsersManager UI tests
* Converts Morpheus UI tests
* Converts MultiSites UI tests
* Fix testEnvironment.callApi handling of array parameters
* Converts Overlay UI tests
* Converts PrivacyManager UI tests
* Converts ScheduledReports UI tests
* Converts SegmentEditor UI tests
* compare pixel difference in images
* Converts PeriodSelector UI tests
* allow a pixel difference
* Converts SingleMetricView UI tests
* Converts SitesManager UI tests
* Converts Transitions UI tests
* Converts MeasurableManager UI tests
* Move Mouse out of screen after each test suite
* Converts PieGraph UI tests
* Ensure cursor is not shown in focused input elements
* Converts VisitorMap UI tests
* Converts CustomLogo UI tests
* Converts BarGraph UI tests
* Converts EvolutionGraph UI tests
* Converts IntranetMeasurable UI tests
* Converts TrackingFailures UI tests
* Converts CampaignBuilder UI tests
* Converts TagManagerTeaser UI tests
* fix request url rewrite for changed port
* Converts TwoFactorAuth UI tests
* do not print full responses in logs, but size instead
* improve additional style injection
* use submodule branches
* fix request interception
* update dependencies
* [TEMP] disable dangerous link checks
* [TEMP] limit tests
* Use puppeteer@next and make sure diffs get uploaded properly.
* Use correct fs function.
* Allow timeout to be specified on command line for UI tests and debug console logs.
* timeout option tweak
* Setup diff dir once before running tests not before each suite.
* fix last commit
* Update screenshots and fix some specs.
* Convert some tests that were not converted during merge.
* updating screenshots
* Updating screenshots and fixing some tests.
* more test fixes
* couple more test fixes
* More test fixes and plugin updates.
* wait for jquery
* Fix some screenshots and tests.
* more test fixes
* debug travis test failure
* remove .only
* more test fixes and updated expected files
* another test fixing iteration
* typo
* another quick test change
* more tests updates
* Test fixes and & more debugging.
* more debugging and test fixes
* more fixes and debugging.
* remove .only
* Another round of fixed tests.
* more debugging & fixes
* more test changes
* more debugging and fixes
* Fixing more tests + some bug fixes.
* Couple more fixes.
* Couple more fixes.
* Fixing tracking failures test
* more fixes
* Last couple fixes hopefully.
* couple more test fixes
* more fixes, bug fix in usersmanager, some test updates
* Some more test fixes/changes.
* more and more fixes
* hoping for a green build
* Do not compare against existing files in dashboard_spec.
* more fixes, re-enabling travis
* really re-enable travis
* Install puppeteer on travis-ci.
* more fixes
* try to fix random failues
* remove return
* Convert some login tests I forgot and update UsersManager expected file
* Fix test for primary key update
* Update AddPrimaryKey.php
* More test fixes + implement synchronous comparison threshold (so no resemblejs)
* More wait fixes + reset token detection fix.
* couple more fixes
* Fix login/overlay screenshot issue & magick command running issue.
* identify is the executable on travis (hopefully) + fix some random failures
* Another run.
* Last fix.
* two more tweaks
* typo
Diffstat (limited to 'plugins/Referrers')
5 files changed, 35 insertions, 33 deletions
diff --git a/plugins/Referrers/tests/UI/CampaignBuilder_spec.js b/plugins/Referrers/tests/UI/CampaignBuilder_spec.js index b3cd6e4bbd..986ae89465 100644 --- a/plugins/Referrers/tests/UI/CampaignBuilder_spec.js +++ b/plugins/Referrers/tests/UI/CampaignBuilder_spec.js @@ -17,48 +17,50 @@ describe("CampaignBuilder", function () { testEnvironment.save(); }); - function captureUrlBuilder(done, screenshotName, theTest) + async function captureUrlBuilder(screenshotName, theTest) { - expect.screenshot(screenshotName).to.be.captureSelector('.campaignUrlBuilder', theTest, done); + await theTest(); + + const element = await page.$('.campaignUrlBuilder'); + expect(await element.screenshot()).to.matchImage(screenshotName); } - function ensureHighlightEffectIsGone(page) + async function ensureHighlightEffectIsGone() { - page.wait(2000); + await page.waitFor(2000); } - function generateUrl(page) + async function generateUrl() { - page.click('.generateCampaignUrl'); - ensureHighlightEffectIsGone(page); + await page.click('.generateCampaignUrl'); + await ensureHighlightEffectIsGone(); } - it('should load the url builder', function (done) { - expect.screenshot('loaded').to.be.capture(function (page) { - page.load(url); - }, done); + it('should load the url builder', async function () { + await page.goto(url); + expect(await page.screenshot({ fullPage: true })).to.matchImage('loaded'); }); - it('generate simple url with url and campaign name', function (done) { - captureUrlBuilder(done, 'generate_url_nokeyword', function (page) { - page.sendKeys('#websiteurl', 'https://www.example.com/foo/bar?x=1&y=2#foobarbaz'); - page.sendKeys('#campaignname', 'My2018Campaign-Test'); - generateUrl(page); + it('generate simple url with url and campaign name', async function () { + await captureUrlBuilder('generate_url_nokeyword', async function () { + await page.type('#websiteurl', 'https://www.example.com/foo/bar?x=1&y=2#foobarbaz'); + await page.type('#campaignname', 'My2018Campaign-Test'); + await generateUrl(); }); }); - it('can reset form', function (done) { - captureUrlBuilder(done, 'generate_url_reset', function (page) { - page.click('.resetCampaignUrl'); + it('can reset form', async function () { + await captureUrlBuilder('generate_url_reset', async function () { + await page.click('.resetCampaignUrl'); }); }); - it('generate simple url with url and campaign name and keyword', function (done) { - captureUrlBuilder(done, 'generate_url_withkeyword', function (page) { - page.sendKeys('#websiteurl', 'www.example.com'); - page.sendKeys('#campaignname', 'MyAwesome<&§Name'); - page.sendKeys('#campaignkeyword', 'MyAwesome<&§Keyword'); - generateUrl(page); + it('generate simple url with url and campaign name and keyword', async function () { + await captureUrlBuilder('generate_url_withkeyword', async function () { + await page.type('#websiteurl', 'www.example.com'); + await page.type('#campaignname', 'MyAwesome<&§Name'); + await page.type('#campaignkeyword', 'MyAwesome<&§Keyword'); + await generateUrl(); }); }); });
\ No newline at end of file diff --git a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_nokeyword.png b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_nokeyword.png index c8d9acbde9..2e70927f50 100644 --- a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_nokeyword.png +++ b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_nokeyword.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e687daa106b5ef7a602f603eeb9021806cdbe86bfa40cda09bc97f245bd7d11c -size 84232 +oid sha256:d4357cf283e9c309bebc8c34eb8ba15f6966b037f0e6d0c0f9135be896c1a365 +size 82220 diff --git a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_reset.png b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_reset.png index 9519895dcf..e185f9c696 100644 --- a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_reset.png +++ b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_reset.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d043e42b23f1a9e3297951e2215a4cb6688d1c784620324681d635ff9b86f29 -size 55025 +oid sha256:03b1c964a179bdc41c725ada69335136716c0f532705bd12047b18336ec8b3af +size 56543 diff --git a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_withkeyword.png b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_withkeyword.png index 1163b8a669..b53baab94f 100644 --- a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_withkeyword.png +++ b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_generate_url_withkeyword.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9af1c708b5685fe96b483bca016a66df410fcdee4b4b1611ab1a8dbb2846e98 -size 86483 +oid sha256:03f5885722efce74fd3322c1f0e55ad64859c899c7389ef6d0f1bdaf4b6f1398 +size 82407 diff --git a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_loaded.png b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_loaded.png index adecb06c00..d2176a86ad 100644 --- a/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_loaded.png +++ b/plugins/Referrers/tests/UI/expected-screenshots/CampaignBuilder_loaded.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc4db3e124c8f83ec456bf2b23dcc0d019204914ac2ca173a74ee69d80e5b192 -size 69971 +oid sha256:e95dd0c7968aee56e6da905bf8647965de9f9b46e2480699caa69f79872746d8 +size 71596 |