![](/img/trans.png)
[英]Selenium c#: How to launch Internet Explorer driver in a specific version (IE8 for example)
[英]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.