【发布时间】:2021-04-19 00:10:43
【问题描述】:
我有这个测试,它应该获取导航菜单中的所有链接并单击它们以确保它们工作......但是,测试失败,因为页面重新加载并且我收到此错误消息
StaleElementReferenceException:消息:元素引用已过时;要么元素不再附加到 DOM,它不在当前框架上下文中,要么文档已被刷新
我认为错误是因为在按下链接时页面正在重新加载,并且正在刷新 dom,这导致它失败,因为在 log.html 循环的第一次迭代成功,但其他人成功不是。
我想在不对链接进行硬编码的情况下实现这一点,因为我想在多个页面中重复使用这个测试。
任何帮助将不胜感激,无论如何谢谢!
这里是代码...
*** Settings ***
Library SeleniumLibrary
Test Setup Open Browser ${URL} ${BROWSER}
Test Teardown Close Browser
*** Variables ***
${BROWSER} Firefox
${URL} https://coupa.com/blog
*** Test Cases ***
# Validate Homepage Title
# Title Should Be Home | Coupa Cloud Platform for Business Spend | Travel and Expense Management, Procurement, and Invoicing
Validate MenuLinks
Validate MenuLinks
*** Keywords ***
Validate MenuLinks
${links} = Get WebElements //*[@id="block-system-menu-block-blog-term-menu"]/div/div/ul/li/a
FOR ${link} IN @{links}
Maximize Browser Window
Wait Until Page Contains Element ${link}
Click Link ${link}
Go To ${URL}
END
【问题讨论】:
标签: python selenium robotframework selenium2library