自动化测试之Selenium学习心得

    刚接触自动化测试不到半年的时间,用的是Selenium+Java来做的。对于刚接触Selenium的新人来说,应该最先掌握的是常用的几种定位方法ById、ByName、ByClassName、ByCssSelector、ByXpath、ByLinkText(这几种是我最常用的)。

    因为自动化的难度取决于UI框架,我们公司用的是MiniUI,个人感觉比较坑,有好多元素的Id是动态的,大部分都是XXX-1、XXX-2,数字会动,这样就给自动化增加了难度,大部分时候就要放弃ById这种用法了。在我们公司的UI设计中,好多的Name也是一样的或者有时候元素里面都没有这个。用的最多的是ByCssSelector和ByXpath这两种方法,这两种方法更容易直接定位到元素。大家在定位元素的时候,可以打开开发者工具,先点一下元素,看看开发者工具下面元素的变化,有的元素是有悬停效果的,这个可以帮助我们更清楚这个元素的操作变化,悬停可以用到Selenium中的一个方法actions.moveToElement()。

    但是在MiniUI中,我觉得最难的还是定位和操作Iframe里面的元素,首先Iframe它是一个遮罩一样的东西,它把我们想操作的元素挡住了,我们没法直接对它发起操作,这个时候就要先切换Iframe,可以用driver.switchTo.frame()来切换到iframe,切换完成后,要做另一个操作,在次切换到需要操作的元素的一级DIV层,可以直接用driver.findElementById(),切换过后,这样便可对元素进行定位操作了。

    对于Iframe中的输入框操作还算容易,目前我尝试用click的方式去操作Iframe里面的下拉框,没成功,只能用键盘模拟的方式去操作,就是用Tab/Down/Enter这几个键去操作下拉框。对于Iframe里的日历控件实在是没突破,囧~~~,如果有大神知道好办法,望指点一二。

猜你喜欢

转载自blog.csdn.net/micropatterning/article/details/80286785