繁体   English   中英

Selenium Xpath问题在特定位置验证特定图像-Internet Explorer 9(IE9)

[英]Selenium Xpath issue verifying specific image at specific location - Internet Explorer 9 (IE9)

我是Selenium的新手,并且在Internet Explorer 9(IE9)中遇到了一个测试用例问题。 我正在使用NUnit运行测试用例,以验证特定位置是否存在特定图像。 该测试用例在Firefox和Chrome中通过,但在IE9中失败。

我听说IE的Xpath存在问题,但是找不到有关该主题的任何权威信息。 有什么方法可以使该命令在使用Xpath的IE中工作? 没有Xpath,有没有更好的方法可以运行此验证? 适用信息如下。

注意:我也是C#的新手,因此也可能是C#的问题。

命令=

Assert.IsTrue(selenium.IsElementPresent("//html/body/form/div[8]/div[3]/div[3]/div[2]/div/div/table/tbody/tr/td/img[@src='images/4a00ac39-be42-46e0-8bd4-5cc786197357.jpg']"));

图片的HTML =

<img style="padding-top: 3px; padding-bottom: 0px; background-color: transparent;" src="images/4a00ac39-be42-46e0-8bd4-5cc786197357.jpg">

图片的CSS路径=

html body.v4master form#aspnetForm div#s4-workspace div#s4-mainarea.s4-pr div#MSO_ContentTable.s4-ca div.s4-ba div.ms-bodyareacell div#ctl00_MSO_ContentDiv table.maintable tbody tr td img

另外,当我删除特定的图像验证部分时,该命令有效,并且测试用例在IE9中通过:

Assert.IsTrue(selenium.IsElementPresent("//html/body/form/div[8]/div[3]/div[3]/div[2]/div/div/table/tbody/tr/td/img"));

最佳猜测:IE正在将SRC=属性标准化为图像的标准URL。 尝试将img[src="...']替换为img[contains(@src, '...'] ,它应该与相对或绝对URL一样工作。

罗斯·帕特森说的话。

同样,XPath路径可能是错误的-任何单个错字或结构更改对于这样的xpath表达式都是致命的。 尝试一下

//img[contains(@src,'images/4a00ac39-be42-46e0-8bd4-5cc786197357.jpg')]

搜索包含给定src的任何图像。 如果页面上有更多这些图像,则不是一个选择(或者必须对其进行更多修改),但是如果只有一个,它将找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM