Selenium RC中的定位器偏好
我需要在编写selenium脚本时选择定位器的帮助 使用XPath、CSS和标识符之间有什么区别?Selenium RC中的定位器偏好,selenium,selenium-rc,Selenium,Selenium Rc,我需要在编写selenium脚本时选择定位器的帮助 使用XPath、CSS和标识符之间有什么区别? XPath是首选的吗?如果是这样,为什么?Xpath通常速度较慢,尤其是在IE中。并非所有浏览器都支持CSS选择器,尤其是IE(这里有趋势吗?)。通常在可以的地方使用名称或id选择器,因为它们很快,在不能的地方使用xpath选择器进行备份。编写好的xpath选择器是一项技能,如果您注意到它导致您的测试开始慢下来,您可能会返回并优化选择器。xpath通常慢,特别是在IE中。CSS选择器在所有浏览器中
XPath是首选的吗?如果是这样,为什么?Xpath通常速度较慢,尤其是在IE中。并非所有浏览器都支持CSS选择器,尤其是IE(这里有趋势吗?)。通常在可以的地方使用名称或id选择器,因为它们很快,在不能的地方使用xpath选择器进行备份。编写好的xpath选择器是一项技能,如果您注意到它导致您的测试开始慢下来,您可能会返回并优化选择器。xpath通常慢,特别是在IE中。CSS选择器在所有浏览器中都不受支持,尤其是IE(看到趋势了吗?)。通常在可以的地方使用名称或id选择器,因为它们很快,在不能的地方使用xpath选择器进行备份。编写好的xpath选择器是一项技能,如果您注意到它导致您的测试开始慢下来,您可能可以返回并优化选择器。CSS将是我在执行速度和可读性/可维护性方面的选择。此外,CSS定位器可能在迭代环境中看到最少的更改(与更改链接名称、标题等相反)。使用CSS的唯一缺点是IDE中缺乏对CSS的内置支持
这篇文章很好地解释了为什么CSS是首选的定位器:)CSS将是我在执行速度和可读性/可维护性方面的选择。此外,CSS定位器可能在迭代环境中看到最少的更改(与更改链接名称、标题等相反)。使用CSS的唯一缺点是IDE中缺乏对CSS的内置支持
这是一篇很好的文章,解释了为什么CSS是首选的定位器:)您应该尝试选择定位器的顺序如下
ID和Name将有助于创建良好的可维护测试,因为可以在不破坏测试的情况下更改元素的类型。例如,如果您单击了一个
,而它被更改为条
,那么您的测试仍然可以工作,只要接下来发生的事情仍然按照相同的顺序进行您应该尝试拾取定位器的顺序如下
ID和Name将有助于创建良好的可维护测试,因为可以在不破坏测试的情况下更改元素的类型。例如,如果你点击了一个
,而它被改为条
,那么你的测试仍然可以工作,只要接下来发生的事情仍然按照相同的顺序进行,而其他三个答案都提供了关于你问题各个方面的重要信息,那么还有一个资源你可能会觉得有用。我最近整理了一本食谱和一个比较图表,涵盖了Selenium支持的所有定位器技术:这个快速参考让您可以看到“…使用XPath、CSS、标识符之间的区别”等等。请参见Simple Talk.com。虽然其他三个答案都提供了有关您问题各个方面的重要信息,但还有一个资源可能会对您有所帮助。我最近整理了一本食谱和一个比较图表,涵盖了Selenium支持的所有定位器技术:这个快速参考让您可以看到“…使用XPath、CSS、标识符之间的区别”等等。请访问Simple Talk.com。你好,再补充一点,
1). ID或名称是浏览器固有的,所有其他CSS、XPATH、Javascript对浏览器都是陌生的(即,它们必须依赖各自的引擎)。所以本地人总是首选。
2). 您不能使用CSS或XPATH的所有功能(即不同版本的CSS或XPATH存在浏览器支持问题)。
3). XPATH在IE7中存在问题。(因此,我只能使用CSS编写每个元素的位置路径)
4). IE7有时找不到非常基本的CSS路径(CSS=table.nav td.name),所以我不得不将其改为javascript编码(dom=document.findElementsByTagName('td')[0])Hi,
1). ID或名称是浏览器固有的,所有其他CSS、XPATH、Javascript对浏览器都是陌生的(即,它们必须依赖各自的引擎)。所以本地人总是首选。
2). 您不能使用CSS或XPATH的所有功能(即不同版本的CSS或XPATH存在浏览器支持问题)。
3). XPATH在IE7中存在问题。(因此,我只能使用CSS编写每个元素的位置路径)
4). IE7有时找不到非常基本的CSS路径(CSS=table.nav td.name),所以我不得不将其改为javascript编码(dom=document.findElementsByTagName('td')[0])选择定位器的顺序应该是:
选择定位器的顺序应为:
“使用CSS的唯一缺点是缺乏IDE内部对它们的支持。”-我认为Selenium IDE 1.11支持CSS:)。祝你考试愉快。显然我需要升级;)TBH我不会使用IDE来创建定位器,它们通常都很糟糕。。。我通常用Java创建一个带有helper方法的框架,并使用firebug或googlechrome等工具手工编写所有选择器webtools@Tnem同意。但有时IDE是免费的