【问题标题】:Element not found until manual click anywhere on page直到手动单击页面上的任意位置才找到元素
【发布时间】:2010-02-19 08:17:14
【问题描述】:

我遇到了以下问题:

当使用 Selenium IDE (v1.0.4) 录制 webtest 时,每一步都会被录制,但是当我尝试重播测试时,虽然没有动态标识符,但会找不到一些按钮。

例如,您可以使用以下页面来了解我的意思:

http://www.vodafone360.com
在那里您可以登录(免费注册)
此基本网址的登录和重播记录工作正常。

但随后会打开带有基本网址 home.vodafone.com 的页面。

在此页面上,我无法自动点击任何顶部导航按钮(人物、我的网站、商店)

我还使用 XPather Add-on 来识别整个 XPath,但这也不成功(除非我手动单击或右键单击这些链接中的任何一个)

此外,添加 Selenium 步骤(如“单击顶栏”)以模拟单击顶栏不会导致预期的行为。

顶栏按钮之一的 VerifyElementPresent 仍返回“false”

重要提示:必须在注销和重新登录后执行重播,以便无需手动单击此页面来进行测试。

有什么特别的技巧吗?

提前致谢!

【问题讨论】:

    标签: selenium selenium-ide


    【解决方案1】:

    要单击“人物”项目,使用 CSS 选择器查找项目似乎会更容易。正如您在下图中看到的那样,人员位于li 标记内。你需要做的是让你的 CSS 选择器找到 People,然后点击它后面的 a 标签。

    alt text http://img502.imageshack.us/img502/9776/vodafone.png

    所以在这种情况下,它将是 css=li.people a,它等同于 xpath=//li[@class='people']/a,因此它是 li 的子元素

    所以你的命令是click | css=li.people a |

    【讨论】:

    • 这并不容易,因为如果你看一下“href”它指向“#”这一步“点击”是成功的,但它没有效果。因此,必须有任何其他事件才能打开人员内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    相关资源
    最近更新 更多