Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -237,8 +237,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
(await pageObjects.infraHostsView.isKPIChartsLoaded())
);

// Failing: See https://github.com/elastic/kibana/issues/191806
describe.skip('Hosts View', function () {
describe('Hosts View', function () {
let synthEsInfraClient: InfraSynthtraceEsClient;
let syntEsLogsClient: LogsSynthtraceEsClient;
let synthtraceApmClient: ApmSynthtraceEsClient;
Expand Down Expand Up @@ -329,6 +328,10 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {

describe('Tabs', () => {
before(async () => {
await retry.waitFor(
'date picker to be visible before setting range',
async () => await pageObjects.timePicker.timePickerExists()
);
await pageObjects.timePicker.setAbsoluteRange(
START_SYNTHTRACE_DATE.format(DATE_PICKER_FORMAT),
END_SYNTHTRACE_DATE.format(DATE_PICKER_FORMAT)
Expand All @@ -340,13 +343,13 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
});

after(async () => {
await retry.tryForTime(5000, async () => {
await pageObjects.infraHome.clickCloseFlyoutButton();
});
await pageObjects.infraHome.closeFlyoutWithEscape();
});

describe('Overview Tab', () => {
before(async () => {
await pageObjects.infraHome.closeFlyoutWithEscape();
await pageObjects.infraHostsView.clickTableOpenFlyoutButton();
await pageObjects.assetDetails.clickOverviewTab();
});

Expand Down Expand Up @@ -413,6 +416,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {

describe('Metadata Tab', () => {
before(async () => {
await pageObjects.infraHome.closeFlyoutWithEscape();
await pageObjects.infraHostsView.clickTableOpenFlyoutButton();
await pageObjects.assetDetails.clickMetadataTab();
});

Expand Down Expand Up @@ -442,6 +447,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {

describe('Metrics Tab', () => {
before(async () => {
await pageObjects.infraHome.closeFlyoutWithEscape();
await pageObjects.infraHostsView.clickTableOpenFlyoutButton();
await pageObjects.assetDetails.clickMetricsTab();
});

Expand All @@ -452,6 +459,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {

describe('Processes Tab', () => {
before(async () => {
await pageObjects.infraHome.closeFlyoutWithEscape();
await pageObjects.infraHostsView.clickTableOpenFlyoutButton();
await pageObjects.assetDetails.clickProcessesTab();
});

Expand All @@ -462,6 +471,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {

describe('Logs Tab', () => {
before(async () => {
await pageObjects.infraHome.closeFlyoutWithEscape();
await pageObjects.infraHostsView.clickTableOpenFlyoutButton();
await pageObjects.assetDetails.clickLogsTab();
});

Expand All @@ -470,7 +481,24 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
});
});

describe('Dashboards Tab', () => {
before(async () => {
await pageObjects.infraHome.closeFlyoutWithEscape();
await pageObjects.infraHostsView.clickTableOpenFlyoutButton();
await pageObjects.assetDetails.clickDashboardsTab();
});

it('should render dashboards tab splash screen with option to add dashboard', async () => {
await pageObjects.assetDetails.addDashboardExists();
});
});

describe('Flyout links', () => {
before(async () => {
await pageObjects.infraHome.closeFlyoutWithEscape();
await pageObjects.infraHostsView.clickTableOpenFlyoutButton();
});

it('should navigate to Host Details page after click', async () => {
await pageObjects.assetDetails.clickOpenAsPageLink();
const dateRange = await pageObjects.timePicker.getTimeConfigAsAbsoluteTimes();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,27 @@ export function InfraHomePageProvider({ getService, getPageObjects }: FtrProvide
return testSubjects.click('euiFlyoutCloseButton');
},

/**
* Closes the host/asset details flyout using Escape (EuiFlyout closes on Escape).
* Retries until the flyout is closed or timeout, then waits for the overlay mask
* to disappear so the next click (e.g. open flyout button) is not intercepted.
*/
async closeFlyoutWithEscape() {
await retry.tryForTime(5000, async () => {
await browser.pressKeys(browser.keys.ESCAPE);
const flyoutClosed = !(await testSubjects.exists('euiFlyoutCloseButton', {
timeout: 1000,
}));
if (!flyoutClosed) {
throw new Error('Flyout still open');
}
});
await retry.waitFor('flyout overlay mask to disappear', async () => {
const overlays = await find.allByCssSelector('.euiOverlayMask', 1000);
return overlays.length === 0;
});
},

async clickCustomMetricDropdown() {
await testSubjects.click('infraInventoryMetricDropdown');
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@ import { FtrProviderContext } from '../ftr_provider_context';

export function InfraHostsViewProvider({ getService }: FtrProviderContext) {
const testSubjects = getService('testSubjects');
const retry = getService('retry');
const browser = getService('browser');

return {
async clickTableOpenFlyoutButton() {
return testSubjects.click('hostsView-flyout-button');
await retry.tryForTime(15000, async () => {
await testSubjects.click('hostsView-flyout-button');
});
},

async clickHostCheckbox(id: string, os: string) {
Expand Down Expand Up @@ -122,7 +126,8 @@ export function InfraHostsViewProvider({ getService }: FtrProviderContext) {

async visitMetricsTab() {
const metricsTab = await this.getMetricsTab();
return metricsTab.click();
await metricsTab.scrollIntoViewIfNecessary();
await browser.execute('arguments[0].click();', metricsTab);
},

async getAllMetricsCharts() {
Expand Down Expand Up @@ -165,7 +170,8 @@ export function InfraHostsViewProvider({ getService }: FtrProviderContext) {

async visitLogsTab() {
const logsTab = await this.getLogsTab();
await logsTab.click();
await logsTab.scrollIntoViewIfNecessary();
await browser.execute('arguments[0].click();', logsTab);
},

async getLogEntries() {
Expand Down Expand Up @@ -197,7 +203,8 @@ export function InfraHostsViewProvider({ getService }: FtrProviderContext) {

async visitAlertTab() {
const alertsTab = await this.getAlertsTab();
await alertsTab.click();
await alertsTab.scrollIntoViewIfNecessary();
await browser.execute('arguments[0].click();', alertsTab);
},

setAlertStatusFilter(alertStatus?: AlertStatus) {
Expand Down