Selenium 下拉框--我理解的使用方法

        最近由于工作的需要,开始接触一些自动化的工具,像前面使用的jmeter,轻量级的性能测试工具,现在根据公司的要求开始编写自动化脚本,给我一周的时间让我选择一个自动化工具,我左手边一本selenium实战,右边是我之前用过的QTP,然后花点时间评估了下(所谓的评估,就是顺着老板的意思,能开源就开源,能免费就免费......),最后决定使用selenium。

        好了,闲话扯的有点多,刚刚开始接触这个工具时,给我一种哇的惊讶感,感觉像寻到宝一样,然后用着用着,给我一种痛苦感,怎么会有这么多的问题,难道一次都不能顺利点吗?

        在这里介绍下,我不是传统的从图形化界面入手这个工具的,而是从脚本上直接入手的,开始编写,前面我自己学过python,所以一开始我选择用python语言作为脚本语言去编写一条demo流,让领导看效果进行评估,然后第二个礼拜我的老大告诉我,应该统一语言......一万点暴击,本来还想去据理力争下,然后老板发话了,和我老大说交给你了,你做主就好,别问我......好吧,言归正传,现在的我用Java写了一条流出来,由于没有用例,所写的一些东西完全靠自己手工积累出来的经验,所以有疏漏的地方,欢迎大家帮忙指出--

        牢骚发完了,下面就可以结束了-----额,有点不好意思,还是得分享点啥。

        前面一些元素定位什么的,我就不介绍了,因为我那块进行的异常顺利,大家如果碰到啥问题,可以百度下,我之前看过几篇别人的博文,写的还是很详细的,所以就不多说啥了,唯一说一点就是可以使用chrome或者火狐自带的xpath和css路径生成的工具,我用下来目前没碰到什么问题,具体如下。

F12进入到开发者模式:如图

Selenium 下拉框--我理解的使用方法

点击从页面中选择一个元素

Selenium 下拉框--我理解的使用方法

例如

Selenium 下拉框--我理解的使用方法

点击那行代码,右键

Selenium 下拉框--我理解的使用方法

然后你想要的xpath就生成了。

这里重点和大家说下我使用select下框的使用心得:

方法1:也是比较麻烦的,但很好理解,比较偏向傻瓜式的

按照步骤一步一步来,比如说你选择点击下拉框,然后选择你要点击的元素,按照步骤一个一个用selenium去完成这些操作即可。唯一需要注意的是,必须在点击下拉框后是用Thread.sleep()的方法,去等待几秒钟,具体的时间可以在括号里填写,直接填写数字即可。

方法2:也是我比较喜欢的,使用WebDriver提供的Select方法类。

首先引入包:

import org.openqa.selenium.support.ui.Select;

然后可以使用select方法去实例化下拉框对象

Selenium 下拉框--我理解的使用方法

然后可以使用实例化的变量点出如图所示的方法:

Selenium 下拉框--我理解的使用方法

1.selectByIndex()方法

使用index方法进行选择,index从0开始,里面填写的参数为int类型。比如说Selenium 下拉框--我理解的使用方法

下拉框,index最小等于0,最大等于3,如果选择0就是选择了“请选择”值,选择3就是选择了“翻译”的值。

2.selectByValue()方法

使用byvalue方法,需要填写具体的value的参数值,例如Selenium 下拉框--我理解的使用方法

如果选择"0",就会选择到“请选择”选项,选择“4”,就会选择到"翻译"选项。

需要注意的是,该方法里面的参数使用的是String类型的参数值。

3.selectByVisibleText()方法

使用该方法可以直接填写标签值,即:Selenium 下拉框--我理解的使用方法

取消选择的方法

Selenium 下拉框--我理解的使用方法

如图所示

使用deselectAll()方法,就可以取消全部选择。

使用Index--通过index方式取消选择

使用value--通过value属性值取消全责

使用visibletext--通过显示标签的文本值取消选择

以上就是我本次分享,最后祝大家工作顺利。