机器人框架-Selenium2库-检查页面的图标

机器人框架-Selenium2库-检查页面的图标,selenium,selenium-webdriver,automated-tests,robotframework,selenium2library,Selenium,Selenium Webdriver,Automated Tests,Robotframework,Selenium2library,我需要查看当前页面是否显示正确的标题图标。我们根据您在站点上的位置更改图标,并需要对其进行检查 我试过了 Page Should Contain Image /bin/icons/1.ico 我们使用的HTML是: <link rel="shortcut icon" type="image/x-icon" href="/bin/icons/1.ico"/> 关键字不起作用。。还有什么我必须用的吗?或者说selenium不支持做这种测试吗?解决了这个问题。 我基本上获取了

我需要查看当前页面是否显示正确的标题图标。我们根据您在站点上的位置更改图标,并需要对其进行检查

我试过了

Page Should Contain Image    /bin/icons/1.ico
我们使用的HTML是:

<link rel="shortcut icon" type="image/x-icon" href="/bin/icons/1.ico"/>

关键字不起作用。。还有什么我必须用的吗?或者说selenium不支持做这种测试吗?

解决了这个问题。 我基本上获取了相关链接标签的href,然后使用“应该等于字符串”关键字对它们进行比较。我本可以早点解决这个问题,但图标链接标签并不是第一个链接标签。下面是我使用的行:

${Favicon1} =   Get Element Attribute    //link[2]@href
Should Be Equal As Strings    ${Favicon1}    http://localhost:8080/bin/icons/1.ico
非常感谢布莱恩·奥克利(Bryan Oakley)为我指明了正确的方向。

,设置favicon的正确方法是通过一个链接标签,该标签具有
rel=“icon”
属性,尽管有些网站仍然使用
rel=“shortcut icon”
(更多详细信息见上面的维基百科链接)。此xpath涵盖以下两个方面:

${loc}=    xpath=//link[@rel="link" or @rel="shortcut icon"]
要获得其价值,请使用正常的robotframework方法:

${favicon}=    Get Element Attribute     ${loc}@href

您是否尝试使用获取
href
属性的值?如何获取页面中未显示的内容的定位器?它正在浏览器选项卡上显示。我不知道。我只是想问你是否已经试着弄明白了这一点。现在试着弄明白它-很好的建议,所以-在考虑了它并查看了文档之后-我使用了:${test}=get-element-attribute标记=link@href然而,favicon并不是第一个链接。这是第二次。有办法选择第二个吗?类似于xpath?不要这样做,原因有二。首先,您可能想要第二个link元素,但在将来的版本或构建中,这很容易改变。第二,在xpath中,索引的优先级高于关系,因此定位器实际上读取“获取任何链接,这是其父级的第二个子级”(相信我,虽然一开始并不直观,但它确实如此:)。在我真正理解xpath之前,我问了这个问题并回答了这个问题,我同意,我的回答非常。。。不直观;)。我想我想说的是寻找包含Favicon的链接,并将其与预期链接进行比较。你的回答比我的回答更清楚,更有意义。很高兴能帮助@Goralight。顺便说一句,在您的解决方案中,我进一步建议不要选择“应该是相等的”,而是-应该包含,并查找主机名后面的路径-“/bin/icons/1.ico”;因此,本案例将适用于其他环境/部署。