Selenium CSS Selectors: 开始改善你的定位器吧!
原文:http://sauceio.com/index.php/2009/10/selenium-tip-of-the-week-start-improving-your-locators/
学习selenium的每个人都知道使用xpath定位策略可以解决很多困难问题,同样的,大家也知道xpath在IE浏览器中执行的速度很慢。
现在,如果你的测试脚本中有相对简单的的XPath定位,可以尝试把他们转换成css定位方式(原生支持所有浏览器),这会是一个很好的优化方式,可以有效的提高测试脚本的执行效率。
现在开始,我们开始动手改造一些简单的例子,把xapth转化成css方式的定位。
Direct child
对于直接下级元素在XPATH是指由直接使用一个“/”,对于CSS,用“>”标示//div/a
css=div > a
Child or subchild
对于任意下级元素,它的定义在XPATH中使用“/ /”,在CSS定位中,只是一个空白即可。//div//a
css=div a
Id
一个元素的id在XPATH的定义:“[@id='example']”,在CSS中使用“#”//div[@id='example']//a
css=div#example a
Class
类定位,这点与XPATH非常相似:“[@class='example']”,而在CSS这只是“.”//div[@class='example']//a
css=div.example a
现在你会发现,使用css定位策略可以让你的测试脚本短小整洁。
原文:http://sauceio.com/index.php/2009/10/selenium-tip-of-the-week-start-improving-your-locators/
学习selenium的每个人都知道使用xpath定位策略可以解决很多困难问题,同样的,大家也知道xpath在IE浏览器中执行的速度很慢。
现在,如果你的测试脚本中有相对简单的的XPath定位,可以尝试把他们转换成css定位方式(原生支持所有浏览器),这会是一个很好的优化方式,可以有效的提高测试脚本的执行效率。
现在开始,我们开始动手改造一些简单的例子,把xapth转化成css方式的定位。
Direct child
对于直接下级元素在XPATH是指由直接使用一个“/”,对于CSS,用“>”标示//div/a
css=div > a
Child or subchild
对于任意下级元素,它的定义在XPATH中使用“/ /”,在CSS定位中,只是一个空白即可。//div//a
css=div a
Id
一个元素的id在XPATH的定义:“[@id='example']”,在CSS中使用“#”//div[@id='example']//a
css=div#example a
Class
类定位,这点与XPATH非常相似:“[@class='example']”,而在CSS这只是“.”//div[@class='example']//a
css=div.example a
现在你会发现,使用css定位策略可以让你的测试脚本短小整洁。

