最近浏览了很多同学的简历,大部分都有自动化测试,基本都有selenium。但很少有人真正弄清selenium。一个是selenium的提供了很多组件,让人容易上手,然后很多人就没有然后了。二是selenium的更新伴随着工具的合并,很多人压根没高清自己用的是selenium RC 还是 webdriver。

根据最近面试的情况,把很多同学在实践selenium的时候没弄清的问题总结了一下,顺便教大家如何快速玩转selenium!

现在测试工程师都在聊什么?

1、python会了吗最近?

2、selenium自动化你们团队进度怎么样?

3、你们自动化框架应用的如何?

4、一直搞手工职业发展会有瓶颈啊,测试真心要往测试开发走啊,搞自动化……

5、我们招聘自动化工程师都10K起,但是到目前还没有招到合适的人选哦,赶紧也学学自动化,涨薪或跳槽去……

自动化工程师的规划之路

如何玩转Selenium自动化?

目前市场上的自动化工具很多,selenium只是其中的一个突出代表。近几年随着开源风、selenium的稳定、版本更新等越来受到市场的欢迎。当然这里不可忽略Python的作用哦!

如果你是小白,想学习自动化,强烈推荐python+selenium。

不要一提代码就恐怖哦(很多测试工程师的通病),其实python与selenium就是一个【纸老虎】,要勇于面对,勇于挑战哦,要不自己没有技术上的竞争力,谁来给你涨薪呢?

!、python上手容易,语法简单、大量第三方模块的支持- selenium针对b/s支持非常好,目前各大主流浏览器均支持。当然我还是喜欢FireFox。

学习selenium,IDE部分不是主要的点,重点放在webdriver API部分。

2、千万不要把大部分精力放在IDE部分哦

前端知识要适当储备:html、css、js基础等,但是不要把自己搞成前端工程师哦,当然那样对你也是非常有益的。

Selenium是什么?

Selenium是什么,相信从事自动化测试的同学或者有过Python爬虫经历的同学都会有了解。

Selenium是一个Web自动化测试软件,正如Selenium官网所言:Selenium主要是为了测试目的而进行自动化的Web应用程序,但是当然并不限于此,一些基于Web的无聊的管理任务也可以使用Selenium进行自动化。嗯,比如爬虫。

网络爬虫应该是Selenium除了Web自动化测试之外,最为人所熟知的应用场景了,它在面对一些JS生成的动态网页时能够有效的获取到页面上的数据。可以说是Python网络爬虫的必备良品。

Python+selenium环境搭建

1、Python环境安装

· 下载和安装Python

· 设置环境变量:已管理员身份运行cmd,输入如下命令:path=%path%;C:\Python27

· 运行python:在命令行中输入python运行python

2、PIP的安装

· pip类似RedHat里面的yum,安装Python包非常方便。(点击图片即可下载)

·下载后解压,使用命令行进入解压出来的目录,运行命令:python setup.py install

· 增加环境变量:命令行中输入path=%path%;C:\Python27\Scripts

· 看下是否安装成功:输入pip -v

3、安装selenium for python

· 命令行输入:pip install selenium(点击图片即可下载)

·验证是否安装成功:在cmd输入python进入python环境,然后输入 from selenium import webdriver,如果不报错就代表selenium安装成功。

4、PyCharm的安装与使用

· 在Python开发过程中,比较流行,很优秀的一款IDE工具-PyCharm,这里关于它的介绍就一句话,它就相当于Java开发中的Eclipse软件一样。(点击图片即可下载)

· 创建工程 ·

5、通过脚本打开关闭浏览器

要用selenium打开浏览器。首先需要去下载一个driver插件(不同的浏览器对应不同的driver插件),这里以chrome为例,下载好后将该插件放在Python安装目录下即可。

这样,一个完整的测试框架和Demo就搭建完成了,你学会了吗?

使用selenium做自动化测试常见问题

1、selenium中如何判断元素是否存在?

答:isElementPresent

2、selenium中hidden或者是display = none的元素是否可以定位到?

答:不可以定位到

3、自动化测试的时候是不是需要连接数据库做数据校验?

答:UI自动化不需要,接口测试会需要

4、webdriver可以用来做接口测试吗?

答:有一定难度,不推荐做接口测试

5、如何去定位页面上动态加载的元素?

答:触发动态加载元素的事件,直至动态元素出现,进行定位

6、如何去定位属性动态变化的元素?

答:xpath或者css通过同级、父级、子级进行定位

7、点击链接以后,selenium是否会自动等待该页面加载完毕?

答:会的等待该页面加载完的

8、自动化测试用例从哪里来?

答:手工用例中抽取出来,可以参考自动化用例的执行策略

9、你觉得自动化测试最大的缺陷是什么?

答:不稳定、可靠性、不易维护、成本与收益不成正比

10、什么是分层测试?

答:UI测试、集成/接口测试、单元测试这些都可以算做分层测试

总结:

随着对测试开发的逐渐流行,测试人员的代码能力也在提升。在selenium的学习中,更需要掌握webdriver的api,探索selenium的更多特性。

没有过不去的火焰山,没有吭不掉的技术难题,只要你敢,肯下功夫,都会取得最终的胜利。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ               群:              755431660