Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Uptime] Run Sample uptime tests using @elastic/synthetics #112128

Merged
merged 29 commits into from
Sep 30, 2021

Conversation

shahzad31
Copy link
Contributor

@shahzad31 shahzad31 commented Sep 14, 2021

Summary

Fix #112777
This is a follow up to #90673

Integerated @elastic/synthetics based test runner to run uptime e2e tests sample journeys

To RUN These test

from x-pack/plugins/uptime

Start server using

node scripts/e2e.js --server

after server is up we can start the runner using

node scripts/e2e.js --runner

Runner is based on kibana FTR, but to run tests it's using @elastic/synthetics, which is based on playwright.

Data is a loading using esArchiver utility.

CI

It adds a process which only runs when something changes in x-pack/plugins/uptime

Next

We would like to migrate few of out uptime tests and user experience app test to this runner to judge capabilities and bottlenecs in the @elastic/synthetics product. It's going to be a great dogfooding.

@shahzad31 shahzad31 changed the title [Uptime] Test elastic synthetics [Uptime] Run Sample uptime tests using @elastic/synthetics Sep 15, 2021
@shahzad31 shahzad31 self-assigned this Sep 15, 2021
@shahzad31 shahzad31 marked this pull request as ready for review September 15, 2021 15:08
@shahzad31 shahzad31 requested review from a team as code owners September 15, 2021 15:08
@shahzad31 shahzad31 added the Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability label Sep 15, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/uptime (Team:uptime)

@shahzad31 shahzad31 added the release_note:skip Skip the PR/issue when compiling release notes label Sep 15, 2021
@tylersmalley
Copy link
Contributor

@elasticmachine merge upstream

@shahzad31 shahzad31 requested a review from a team as a code owner September 22, 2021 07:25
@@ -70,5 +68,5 @@ const canvasWebpack = {
module.exports = {
...defaultConfig,
addons: [...(defaultConfig.addons || []), './addon/target/register'],
webpackFinal: (config: Configuration) => webpackMerge(config, canvasWebpack),
webpackFinal: (config) => webpackMerge(config, canvasWebpack),
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

build was breaking with ts usage here.

Copy link
Contributor

@justinkambic justinkambic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking great! Left a few comments for the uptime changes.

Comment on lines 15 to 35
// async function refreshUptimeApp() {
// while (!(await page.$('div.euiBasicTable'))) {
// await page.click('[data-test-subj=superDatePickerApplyTimeButton]');
// // eslint-disable-next-line no-console
// console.log('refreshing uptime app');
// await page.waitForTimeout(5 * 1000);
// }
// }
//
// async function waitForKibanaToLoad() {
// let isStillLoading = true;
//
// while (isStillLoading) {
// const welcomeMessage = await page.$('text="Welcome to Elastic"');
// isStillLoading = welcomeMessage === null;
// if (isStillLoading) {
// await page.reload();
// await page.waitForTimeout(10 * 1000);
// }
// }
// }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason to keep this?

}
}

step('Go to Kibana', async () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
step('Go to Kibana', async () => {
step('Go to Kibana', async () => {

await page.goto(`${params.kibanaUrl}/app/uptime?dateRangeStart=now-5y&dateRangeEnd=now`, {
waitUntil: 'networkidle',
});
// await waitForKibanaToLoad();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete this if there's no reason to keep it.

Suggested change
// await waitForKibanaToLoad();


step('Check if there is table data', async () => {
await page.click('[data-test-subj=uptimeOverviewPage]');
// await refreshUptimeApp();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// await refreshUptimeApp();

await page.click('[data-test-subj=monitor-page-link-0001-up]');
});

step('It navigates to details page', async () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can dispense with naming the step "It..." as that's typically assumed by it step test, etc.

Suggested change
step('It navigates to details page', async () => {
step('Navigates to details page', async () => {

const result = await playwrightStart(getService);

if (result && result.uptime.status !== 'succeeded') {
process.exit(1);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps including an error message here is also a good idea, and perhaps a success message in an else block?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elastic/synthetics logs those messages be default, this is just a formality to push the exit code to the CI

}

async function playwrightStart(getService: any) {
console.log('Loading esArchiver...');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a logger utility Kibana exposes for us to call instead of bare console.log? It looks kinda weird in the output. Not a huge deal, esp. for v1, but if it's easy it could be nicer to improve this.

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

defenitely something worth doing in a follow up, probably we will use junit output to hook the logs into jenkins ci

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add an enhancement issue then to make sure we don't lose track of it? Should be a fairly light addition someone can implement when they have time.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, i will add that.

Copy link
Contributor

@justinkambic justinkambic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@crob611 crob611 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like just changing files from .ts to .js to "fix" whatever problem has come up.

The typescript errors look to be originating from the ts-node package, which is newly introduced by this PR. I would rather we identify why adding the ts-node package suddenly starts breaking this PR build, and to ensure there's not other side effects happening somewhere, rather than just ignore it.

@shahzad31
Copy link
Contributor Author

@elasticmachine merge upstream

Comment on lines -17 to -19
webpackFinal: (config: Configuration) => {
return WebpackConfig({ config });
},
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webpackFinal usage in storybook main.ts somehow is causing issues with newly added dependency of ts-node most likely an issue with storybook typescript setup

storybookjs/storybook#9610

Comment on lines -15 to -17
webpackFinal: (config: Configuration) => {
return WebpackConfig({ config });
},
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webpackFinal usage in storybook main.ts somehow is causing issues with newly added dependency of ts-node most likely an issue with storybook typescript setup

storybookjs/storybook#9610

@shahzad31
Copy link
Contributor Author

@elasticmachine merge upstream

@shahzad31
Copy link
Contributor Author

@elasticmachine merge upstream

Copy link
Contributor

@joshdover joshdover left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fleet storybook changes seem good, but would like @clintandrewhall to verify before merging

Copy link
Contributor

@clintandrewhall clintandrewhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fleet changes are fine.

Copy link
Contributor

@crob611 crob611 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presentation changes 👍

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / general / Performance Tests.x-pack/test/performance/tests/reporting_dashboard·ts.performance reporting dashbaord downloaded PDF has OK status

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has failed 3 times on tracked branches: https://github.com/elastic/kibana/issues/110470

[00:00:00]                         │
[00:00:00]                           └-: performance
[00:00:00]                             └-> "before all" hook in "performance"
[00:00:00]                             └-: reporting dashbaord
[00:00:00]                               └-> "before all" hook for "downloaded PDF has OK status"
[00:00:00]                               └-> "before all" hook for "downloaded PDF has OK status"
[00:00:00]                                 │ debg resolved import for x-pack/test/performance/kbn_archives/reporting_dashboard to /dev/shm/workspace/parallel/11/kibana/x-pack/test/performance/kbn_archives/reporting_dashboard.json
[00:00:00]                                 │ info importing 4 saved objects { space: undefined }
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/qefZIGB7Q1Wi9hkShG3H7A] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/qefZIGB7Q1Wi9hkShG3H7A] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/qefZIGB7Q1Wi9hkShG3H7A] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/qefZIGB7Q1Wi9hkShG3H7A] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/qefZIGB7Q1Wi9hkShG3H7A] update_mapping [_doc]
[00:00:01]                                 │ succ import success
[00:00:01]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Loading "mappings.json"
[00:00:01]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Loading "data.json.gz"
[00:00:01]                                 │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [foo] creating index, cause [api], templates [], shards [1]/[1]
[00:00:01]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Created index "foo"
[00:00:01]                                 │ debg [x-pack/test/performance/es_archives/reporting_dashboard] "foo" settings {"index":{"number_of_replicas":"1","number_of_shards":"1"}}
[00:00:03]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Indexed 10000 docs into "foo"
[00:00:03]                               └-> downloaded PDF has OK status
[00:00:03]                                 └-> "before each" hook: global before each for "downloaded PDF has OK status"
[00:00:03]                                 │ debg navigating to dashboards url: http://localhost:61111/app/dashboards
[00:00:03]                                 │ debg navigate to: http://localhost:61111/app/dashboards
[00:00:03]                                 │ debg browser[INFO] http://localhost:61111/login?next=%2Fapp%2Fdashboards%3F_t%3D1632999428329 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:03]                                 │
[00:00:03]                                 │ debg browser[INFO] http://localhost:61111/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:03]                                 │ debg ... sleep(700) start
[00:00:04]                                 │ debg ... sleep(700) end
[00:00:04]                                 │ debg returned from get, calling refresh
[00:00:05]                                 │ debg browser[INFO] http://localhost:61111/login?next=%2Fapp%2Fdashboards%3F_t%3D1632999428329 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:05]                                 │
[00:00:05]                                 │ debg browser[INFO] http://localhost:61111/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:05]                                 │ debg currentUrl = http://localhost:61111/login?next=%2Fapp%2Fdashboards%3F_t%3D1632999428329
[00:00:05]                                 │          appUrl = http://localhost:61111/app/dashboards
[00:00:05]                                 │ debg TestSubjects.find(kibanaChrome)
[00:00:05]                                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:00:06]                                 │ debg Found login page
[00:00:06]                                 │ debg TestSubjects.setValue(loginUsername, test_user)
[00:00:06]                                 │ debg TestSubjects.click(loginUsername)
[00:00:06]                                 │ debg Find.clickByCssSelector('[data-test-subj="loginUsername"]') with timeout=10000
[00:00:06]                                 │ debg Find.findByCssSelector('[data-test-subj="loginUsername"]') with timeout=10000
[00:00:06]                                 │ERROR browser[SEVERE] http://localhost:61111/api/licensing/info - Failed to load resource: the server responded with a status of 401 (Unauthorized)
[00:00:06]                                 │ debg TestSubjects.setValue(loginPassword, changeme)
[00:00:06]                                 │ debg TestSubjects.click(loginPassword)
[00:00:06]                                 │ debg Find.clickByCssSelector('[data-test-subj="loginPassword"]') with timeout=10000
[00:00:06]                                 │ debg Find.findByCssSelector('[data-test-subj="loginPassword"]') with timeout=10000
[00:00:06]                                 │ debg TestSubjects.click(loginSubmit)
[00:00:06]                                 │ debg Find.clickByCssSelector('[data-test-subj="loginSubmit"]') with timeout=10000
[00:00:06]                                 │ debg Find.findByCssSelector('[data-test-subj="loginSubmit"]') with timeout=10000
[00:00:07]                                 │ debg Find.waitForDeletedByCssSelector('.kibanaWelcomeLogo') with timeout=10000
[00:00:07]                                 │ proc [kibana]   log   [10:57:12.201] [info][plugins][routes][security] Logging in with provider "basic" (basic)
[00:00:07]                                 │ debg browser[INFO] http://localhost:61111/app/dashboards?_t=1632999428329 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:07]                                 │
[00:00:07]                                 │ debg browser[INFO] http://localhost:61111/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:07]                                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:00:09]                                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"] nav:not(.ng-hide)') with timeout=60000
[00:00:10]                                 │ debg browser[INFO] http://localhost:61111/app/dashboards?_t=1632999434837 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:10]                                 │
[00:00:10]                                 │ debg browser[INFO] http://localhost:61111/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:10]                                 │ debg Finished login process currentUrl = http://localhost:61111/app/dashboards
[00:00:11]                                 │ debg ... sleep(501) start
[00:00:11]                                 │ debg ... sleep(501) end
[00:00:11]                                 │ debg in navigateTo url = http://localhost:61111/app/dashboards
[00:00:11]                                 │ debg Waiting up to 20000ms for dashboard landing page...
[00:00:11]                                 │ debg onDashboardLandingPage
[00:00:11]                                 │ debg TestSubjects.exists(dashboardLandingPage)
[00:00:11]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="dashboardLandingPage"]') with timeout=5000
[00:00:12]                                 │ debg Load Saved Dashboard dashboard
[00:00:12]                                 │ debg gotoDashboardLandingPage
[00:00:12]                                 │ debg onDashboardLandingPage
[00:00:12]                                 │ debg TestSubjects.exists(dashboardLandingPage)
[00:00:12]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="dashboardLandingPage"]') with timeout=5000
[00:00:12]                                 │ debg searchForItemWithName: dashboard
[00:00:12]                                 │ debg TestSubjects.find(tableListSearchBox)
[00:00:12]                                 │ debg Find.findByCssSelector('[data-test-subj="tableListSearchBox"]') with timeout=10000
[00:00:12]                                 │ debg isGlobalLoadingIndicatorVisible
[00:00:12]                                 │ debg TestSubjects.exists(globalLoadingIndicator)
[00:00:12]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:00:12]                                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:00:12]                                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:00:14]                                 │ debg TestSubjects.click(dashboardListingTitleLink-dashboard)
[00:00:14]                                 │ debg Find.clickByCssSelector('[data-test-subj="dashboardListingTitleLink-dashboard"]') with timeout=10000
[00:00:14]                                 │ debg Find.findByCssSelector('[data-test-subj="dashboardListingTitleLink-dashboard"]') with timeout=10000
[00:00:14]                                 │ debg isGlobalLoadingIndicatorVisible
[00:00:14]                                 │ debg TestSubjects.exists(globalLoadingIndicator)
[00:00:14]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:00:14]                                 │ debg browser[INFO] http://localhost:61111/app/dashboards#/view/37b49c50-2dc6-11eb-8af3-cb3aa84dbabd?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now)) 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:14]                                 │
[00:00:14]                                 │ debg browser[INFO] http://localhost:61111/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:15]                                 │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[00:00:16]                                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:00:16]                                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:00:16]                                 │ debg TestSubjects.missingOrFail(dashboardLandingPage)
[00:00:16]                                 │ debg Find.waitForDeletedByCssSelector('[data-test-subj="dashboardLandingPage"]') with timeout=10000
[00:00:17]                                 │ debg openPdfReportingPanel
[00:00:17]                                 │ debg openShareMenuItem title:PDF Reports
[00:00:17]                                 │ debg TestSubjects.exists(shareContextMenu)
[00:00:17]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="shareContextMenu"]') with timeout=2500
[00:00:18]                                 │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.async-search] creating index, cause [auto(bulk api)], templates [], shards [1]/[0]
[00:00:19]                                 │ debg --- retry.tryForTime error: [data-test-subj="shareContextMenu"] is not displayed
[00:00:20]                                 │ debg TestSubjects.click(shareTopNavButton)
[00:00:20]                                 │ debg Find.clickByCssSelector('[data-test-subj="shareTopNavButton"]') with timeout=10000
[00:00:20]                                 │ debg Find.findByCssSelector('[data-test-subj="shareTopNavButton"]') with timeout=10000
[00:00:20]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/qefZIGB7Q1Wi9hkShG3H7A] update_mapping [_doc]
[00:00:21]                                 │ debg Find.findByCssSelector('div.euiContextMenuPanel') with timeout=10000
[00:00:21]                                 │ debg TestSubjects.click(sharePanel-PDFReports)
[00:00:21]                                 │ debg Find.clickByCssSelector('[data-test-subj="sharePanel-PDFReports"]') with timeout=10000
[00:00:21]                                 │ debg Find.findByCssSelector('[data-test-subj="sharePanel-PDFReports"]') with timeout=10000
[00:00:23]                                 │ debg Find.waitForElementStale with timeout=10000
[00:00:23]                                 │ debg TestSubjects.click(generateReportButton)
[00:00:23]                                 │ debg Find.clickByCssSelector('[data-test-subj="generateReportButton"]') with timeout=10000
[00:00:23]                                 │ debg Find.findByCssSelector('[data-test-subj="generateReportButton"]') with timeout=10000
[00:00:24]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/qefZIGB7Q1Wi9hkShG3H7A] update_mapping [_doc]
[00:00:24]                                 │ debg getReportURL
[00:00:24]                                 │ debg TestSubjects.getAttribute(downloadCompletedReportButton, href, tryTimeout=120000, findTimeout=60000)
[00:00:24]                                 │ debg TestSubjects.find(downloadCompletedReportButton)
[00:00:24]                                 │ debg Find.findByCssSelector('[data-test-subj="downloadCompletedReportButton"]') with timeout=60000
[00:01:25]                                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
[00:01:25]                                 │      Wait timed out after 61257ms
[00:01:26]                                 │ debg TestSubjects.find(downloadCompletedReportButton)
[00:01:26]                                 │ debg Find.findByCssSelector('[data-test-subj="downloadCompletedReportButton"]') with timeout=60000
[00:02:27]                                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
[00:02:27]                                 │      Wait timed out after 61323ms
[00:02:27]                                 │ info Taking screenshot "/dev/shm/workspace/parallel/11/kibana/x-pack/test/functional/screenshots/failure/performance reporting dashbaord downloaded PDF has OK status.png"
[00:02:28]                                 │ info Current URL is: http://localhost:61111/app/dashboards#/view/37b49c50-2dc6-11eb-8af3-cb3aa84dbabd?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))
[00:02:28]                                 │ info Saving page source to: /dev/shm/workspace/parallel/11/kibana/x-pack/test/performance/failure_debug/html/performance reporting dashbaord downloaded PDF has OK status.html
[00:02:28]                                 └- ✖ fail: performance reporting dashbaord downloaded PDF has OK status
[00:02:28]                                 │      Error: retry.tryForTime timeout: TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
[00:02:28]                                 │ Wait timed out after 61323ms
[00:02:28]                                 │     at /dev/shm/workspace/parallel/11/kibana/node_modules/selenium-webdriver/lib/webdriver.js:842:17
[00:02:28]                                 │     at runMicrotasks (<anonymous>)
[00:02:28]                                 │     at processTicksAndRejections (internal/process/task_queues.js:95:5)
[00:02:28]                                 │       at onFailure (/dev/shm/workspace/parallel/11/kibana/test/common/services/retry/retry_for_success.ts:17:9)
[00:02:28]                                 │       at retryForSuccess (/dev/shm/workspace/parallel/11/kibana/test/common/services/retry/retry_for_success.ts:57:13)
[00:02:28]                                 │       at RetryService.tryForTime (/dev/shm/workspace/parallel/11/kibana/test/common/services/retry/retry.ts:22:12)
[00:02:28]                                 │       at TestSubjects.getAttribute (/dev/shm/workspace/parallel/11/kibana/test/functional/services/common/test_subjects.ts:190:12)
[00:02:28]                                 │       at ReportingPageObject.getReportURL (test/functional/page_objects/reporting_page.ts:36:17)
[00:02:28]                                 │       at Context.<anonymous> (test/performance/tests/reporting_dashboard.ts:50:7)
[00:02:28]                                 │       at Object.apply (/dev/shm/workspace/parallel/11/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16)
[00:02:28]                                 │ 
[00:02:28]                                 │ 

Stack Trace

Error: retry.tryForTime timeout: TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
Wait timed out after 61323ms
    at /dev/shm/workspace/parallel/11/kibana/node_modules/selenium-webdriver/lib/webdriver.js:842:17
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at onFailure (/dev/shm/workspace/parallel/11/kibana/test/common/services/retry/retry_for_success.ts:17:9)
    at retryForSuccess (/dev/shm/workspace/parallel/11/kibana/test/common/services/retry/retry_for_success.ts:57:13)
    at RetryService.tryForTime (/dev/shm/workspace/parallel/11/kibana/test/common/services/retry/retry.ts:22:12)
    at TestSubjects.getAttribute (/dev/shm/workspace/parallel/11/kibana/test/functional/services/common/test_subjects.ts:190:12)
    at ReportingPageObject.getReportURL (test/functional/page_objects/reporting_page.ts:36:17)
    at Context.<anonymous> (test/performance/tests/reporting_dashboard.ts:50:7)
    at Object.apply (/dev/shm/workspace/parallel/11/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16)

Metrics [docs]

✅ unchanged

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

cc @shahzad31

@shahzad31 shahzad31 merged commit fe9b533 into elastic:master Sep 30, 2021
@shahzad31 shahzad31 deleted the playwright-ftr-e2e branch September 30, 2021 11:58
@shahzad31 shahzad31 added the auto-backport Deprecated - use backport:version if exact versions are needed label Sep 30, 2021
kibanamachine added a commit to kibanamachine/kibana that referenced this pull request Sep 30, 2021
…12128)

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
@kibanamachine
Copy link
Contributor

💚 Backport successful

Status Branch Result
7.x

This backport PR will be merged automatically after passing CI.

@kibanamachine
Copy link
Contributor

Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync.

@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Oct 1, 2021
@kibanamachine
Copy link
Contributor

Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync.

kibanamachine added a commit that referenced this pull request Oct 4, 2021
…2128) (#113531)

* [Uptime] Run Sample uptime tests using @elastic/synthetics (#112128)

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>

* update test according to 7.x

* revert

Co-authored-by: Shahzad <shahzad.muhammad@elastic.co>
Co-authored-by: shahzad31 <shahzad31comp@gmail.com>
@kibanamachine kibanamachine removed the backport missing Added to PRs automatically when the are determined to be missing a backport. label Oct 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-backport Deprecated - use backport:version if exact versions are needed release_note:skip Skip the PR/issue when compiling release notes Team:Fleet Team label for Observability Data Collection Fleet team Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability v7.16.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Uptime] Use elastic/synthetics to run sample journeys
8 participants