使用xpath时,Selenium测试失败

时间:2015-03-04 13:49:40

标签: selenium xpath automated-tests ui-automation robotframework

我使用机器人框架和selenium2library进行一些测试,这是我的测试文件:

*** Settings ***

Library Selenium2Library

*** Variables ***

${URL_LOCATION}     http://localhost:9000/apps/depot/#
${BROWSER_TYPE}     chrome

*** Test Cases ***

Open browser to DEPOT page

    Open Browser     ${URL_LOCATION}
    Click Element    xpath=//div[@class="btn action xlarge nav-next"]

问题在于,在完成第一步后,打开浏览器"成功,第二步失败了,我无法理解为什么......

以下是证明该元素存在的页面的一部分:

 <div class='block action-block'>
    <div class='btn action xlarge nav-next'>{{t step.next.caption }}
 </div>

...谢谢

1 个答案:

答案 0 :(得分:1)

考虑到短页面片段,很难说。但我会尝试以下方法:

  • 点击元素前使用Wait Until Element Is Visible。使用Set Selenium Timeout来适当地设置此超时。您应该至少得到一个更好的错误消息。
  • 使用Firefox控制台(或其他浏览器中的类似控制台)验证您的Xpath表达式。
  • 使用相对于其他元素的Xpath表达式。像//div[@class='block action-block']/div
  • 之类的东西
  • 直接执行一些Javascript。如果有一些带有id的元素,例如,您可以调用类似Execute Javascript document.getElementById("parent").children[0].click()
  • 的内容
  • 尝试其他点击命令,例如Click Button。我最近遇到的问题是Click Element locator无效,Click Link linkname没有。

最后根据我的经验,我总是在Xpath表达式中使用单引号。但我想这不是问题所在。