From 7dc0cee5be33848f46e443fcf3181b605811945b Mon Sep 17 00:00:00 2001 From: Elizabeth Thompson Date: Tue, 15 Jun 2021 10:00:36 -0700 Subject: [PATCH] add another wait for chart element (#15108) --- .../components/gridComponents/Chart.jsx | 16 +++++++++------- superset/utils/webdriver.py | 6 ++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx b/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx index 80364d751593..1b492d2556ff 100644 --- a/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx +++ b/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx @@ -21,20 +21,22 @@ import React from 'react'; import PropTypes from 'prop-types'; import { styled } from '@superset-ui/core'; -import { exploreChart, exportChart } from '../../../explore/exploreUtils'; -import SliceHeader from '../SliceHeader'; -import ChartContainer from '../../../chart/ChartContainer'; -import MissingChart from '../MissingChart'; -import { slicePropShape, chartPropShape } from '../../util/propShapes'; +import { exploreChart, exportChart } from 'src/explore/exploreUtils'; +import ChartContainer from 'src/chart/ChartContainer'; import { LOG_ACTIONS_CHANGE_DASHBOARD_FILTER, LOG_ACTIONS_EXPLORE_DASHBOARD_CHART, LOG_ACTIONS_EXPORT_CSV_DASHBOARD_CHART, LOG_ACTIONS_FORCE_REFRESH_CHART, -} from '../../../logger/LogUtils'; +} from 'src/logger/LogUtils'; +import { areObjectsEqual } from 'src/reduxUtils'; + +import SliceHeader from '../SliceHeader'; +import MissingChart from '../MissingChart'; +import { slicePropShape, chartPropShape } from '../../util/propShapes'; + import { isFilterBox } from '../../util/activeDashboardFilters'; import getFilterValuesByFilterId from '../../util/getFilterValuesByFilterId'; -import { areObjectsEqual } from '../../../reduxUtils'; const propTypes = { id: PropTypes.number.isRequired, diff --git a/superset/utils/webdriver.py b/superset/utils/webdriver.py index 70a4f512e338..6533c3e6554b 100644 --- a/superset/utils/webdriver.py +++ b/superset/utils/webdriver.py @@ -114,6 +114,12 @@ def get_screenshot( WebDriverWait(driver, self._screenshot_load_wait).until_not( EC.presence_of_all_elements_located((By.CLASS_NAME, "loading")) ) + logger.debug("Wait for chart to have content") + WebDriverWait(driver, self._screenshot_locate_wait).until( + EC.visibility_of_all_elements_located( + (By.CLASS_NAME, "slice_container") + ) + ) logger.info("Taking a PNG screenshot or url %s", url) img = element.screenshot_as_png except TimeoutException: