Add exception handling to Kibana Selenium test
This adds exception handling to the Kibana Selenium tests to address the test failures due to TimeoutExceptions when the dashboard loads slowly. Only TimeoutExceptions are handled so if there is an issue with the page itself an error will still cause the gate to fail as intended. When a TimeoutException occurs an error message is logged and a screenshot is taken of the current page. Change-Id: I16cd3a61ffce2e5fdc39bd7731cc068b8a6ec41f
This commit is contained in:
parent
9289cd0987
commit
1bf24051c5
@ -59,30 +59,46 @@ options.add_argument('--headless')
|
||||
options.add_argument('--no-sandbox')
|
||||
options.add_argument('--window-size=1920x1080')
|
||||
|
||||
errNO = 1
|
||||
|
||||
browser = webdriver.Chrome('/etc/selenium/chromedriver', chrome_options=options)
|
||||
url = "http://{0}:{1}@{2}".format(kibana_user, kibana_password, kibana_journal_uri)
|
||||
browser.get(url)
|
||||
|
||||
WebDriverWait(browser, 60).until(
|
||||
EC.presence_of_element_located((By.XPATH, '//*[@id="kibana-body"]/div[1]/div/div/div[3]/discover-app/div/div[2]/div[2]/div/div[2]/div[2]/doc-table/div/table/tbody/tr[1]/td[2]'))
|
||||
)
|
||||
browser.save_screenshot('/tmp/artifacts/Kibana_JournalIndex.png')
|
||||
try:
|
||||
WebDriverWait(browser, 60).until(
|
||||
EC.presence_of_element_located((By.XPATH, '//*[@id="kibana-body"]/div[1]/div/div/div[3]/discover-app/div/div[2]/div[2]/div/div[2]/div[2]/doc-table/div/table/tbody/tr[1]/td[2]'))
|
||||
)
|
||||
browser.save_screenshot('/tmp/artifacts/Kibana_JournalIndex.png')
|
||||
except TimeoutException, e:
|
||||
browser.save_screenshot('/tmp/artifacts/Error_{}.png'.format(errNO))
|
||||
logger.error('Error occured loading Journal index')
|
||||
errNO += 1
|
||||
|
||||
browser = webdriver.Chrome('/etc/selenium/chromedriver', chrome_options=options)
|
||||
url = "http://{0}:{1}@{2}".format(kibana_user, kibana_password, kibana_kernel_uri)
|
||||
browser.get(url)
|
||||
|
||||
WebDriverWait(browser, 60).until(
|
||||
EC.presence_of_element_located((By.XPATH, '//*[@id="kibana-body"]/div[1]/div/div/div[3]/discover-app/div/div[2]/div[2]/div/div[2]/div[2]/doc-table/div/table/tbody/tr[1]/td[2]'))
|
||||
)
|
||||
browser.save_screenshot('/tmp/artifacts/Kibana_KernelIndex.png')
|
||||
try:
|
||||
WebDriverWait(browser, 60).until(
|
||||
EC.presence_of_element_located((By.XPATH, '//*[@id="kibana-body"]/div[1]/div/div/div[3]/discover-app/div/div[2]/div[2]/div/div[2]/div[2]/doc-table/div/table/tbody/tr[1]/td[2]'))
|
||||
)
|
||||
browser.save_screenshot('/tmp/artifacts/Kibana_KernelIndex.png')
|
||||
except TimeoutException, e:
|
||||
browser.save_screenshot('/tmp/artifacts/Error_{}.png'.format(errNO))
|
||||
logger.error('Error occured loading Kernel index')
|
||||
errNO += 1
|
||||
|
||||
browser = webdriver.Chrome('/etc/selenium/chromedriver', chrome_options=options)
|
||||
url = "http://{0}:{1}@{2}".format(kibana_user, kibana_password, kibana_logstash_uri)
|
||||
browser.get(url)
|
||||
|
||||
WebDriverWait(browser, 60).until(
|
||||
EC.presence_of_element_located((By.XPATH, '//*[@id="kibana-body"]/div[1]/div/div/div[3]/discover-app/div/div[2]/div[2]/div/div[2]/div[2]/doc-table/div/table/tbody/tr[1]/td[2]'))
|
||||
)
|
||||
|
||||
browser.save_screenshot('/tmp/artifacts/Kibana_LogstashIndex.png')
|
||||
try:
|
||||
WebDriverWait(browser, 60).until(
|
||||
EC.presence_of_element_located((By.XPATH, '//*[@id="kibana-body"]/div[1]/div/div/div[3]/discover-app/div/div[2]/div[2]/div/div[2]/div[2]/doc-table/div/table/tbody/tr[1]/td[2]'))
|
||||
)
|
||||
browser.save_screenshot('/tmp/artifacts/Kibana_LogstashIndex.png')
|
||||
except TimeoutException, e:
|
||||
browser.save_screenshot('/tmp/artifacts/Error_{}.png'.format(errNO))
|
||||
logger.error('Error occured loading Logstash index')
|
||||
errNO += 1
|
||||
|
Loading…
Reference in New Issue
Block a user