专栏首页python3python selenium系列(一)

python selenium系列(一)

一  selenium是什么?

引用百度百科的介绍selenium的一段话:

“Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本”

令人吃惊的是,最后一句支持的语言里竟然没有提到Python,哈哈哈。

总之,selenium是用于web自动化测试的工具集,通过驱动浏览器代替人工完成兼容性测试或功能回归测试,支持多浏览器及多语言开发。

二  selenium和webdriver啥关系?

WebDriver 和 Selenium 原本是实现web自动化方面的两个独立项目。从Selenium 2 将两者合并,两者关系可以用Selenium 1.0 + WebDriver = Selenium 2.0表示。目前在测试领域,通常所说的selenium实际就是webdriver,而Selenium 1通常指的是Selenium RC。

与1.0相比,webdriver的API被设计的更加简洁、简单,驱动浏览器更加高效,同时解决了1.0中比较难处理的一些应用场景,如文件上传、下载,弹出框处理等。

三  WebDriver的工作原理

讲了selenium和webdriver的关系后,我们学习selenium,实际主要是学习webdriver的api使用方法。但是,在此之前,有必要先了解一下webdriver的工作原理。从网上找了一张图,介绍原理,如下:

WebDriver的工作原理,简述如下:

1. webdriver是按照client - server的经典设计模式设计的;

2. server端就是remote server,脚本启动的浏览器,它的职责就是等待client发送请求并做出相应;

3. client端就是我们的测试代码,操作命令以http请求的方式发送给被server端,server接受请求,执行相应操作,并在response中返回执行状态、返回值等信息;

四 selenium环境安装

前面介绍了那么多,终于到本文的正题了,python开发环境如何安装selenium呢?

其实selenium安装很简单,三步走:

          1. pip install selenium

2. 安装浏览器(chrome)

3. 安装对应浏览器驱动(chrome driver)(下载对应驱动放到python安装目录即可)

前面也讲了,selenium是支持多浏览器的,后续主要以chrome浏览器为例展开介绍,其他浏览器安装是类似的。
Chrome版本与浏览器驱动版本的关系如下:

五 测试

Selenium安装后,需要测试下是否可以正常工作,只需几条语句:

此时,如何浏览器被打开且自动访问了百度网址,那么安装就正常完成了。 注意: 使用browser.close()关闭浏览器可能遇到报错,该问题已经在selenium github提交issue(#3330),使用文中browser.quit()暂时绕过就可以了。 其他资源: 关于python selenium介绍及环境安装的视频讲解,请参看:http://i.youku.com/weiworld521 第 24 节。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python3+PyCharm+sele

    安装Python3 请去python官网下载安装包,我用的是Python3.6 安装PyCharm,这个也是去官网自己下吧,偶的是2018.2.3(Commun...

    py3study
  • python3 安装MySQLdb及无法

    用pip安装MySQLdb 中遇到如下问题,折腾半天之久,多方尝试,终搞定,遂做此记录,以便后来者少走弯路:

    py3study
  • 锁丶threading.local丶线程

    py3study
  • python-- 爬虫之用Selenium做爬虫

    框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从...

    sjw1998
  • selenium自动化测试-1.selenium介绍及环境安装

    selenium是web应用程序自动化工具,通过自动操作浏览器,进行点击、输入、回车、返回等来模拟用户的真实行为。如何理解和看待selenium项目,selen...

    ITester软件测试小栈
  • 假冒App引发的新网络钓鱼威胁

    网络钓鱼(即假的,恶意的电子邮件)常常被人鄙视。在全球聚焦于网上的“零日漏洞攻击”(zero days)、网络“武器”和“动能”网络攻击的时候,网络钓鱼电子邮件...

    Alicia
  • selenium自动化测试-1.selenium介绍及环境安装

    selenium是web应用程序自动化工具,通过自动操作浏览器,进行点击、输入、回车、返回等来模拟用户的真实行为。如何理解和看待selenium项目,selen...

    橙子探索测试
  • MySQL客户端jdbc反序列化漏洞payload

    当MySQL JDBC url可控时,除了能利用MySQL协议读取MySQL Client的本地文件之外,还可以利用客户端在连接服务器时会反序列化服务器返回的二...

    周俊辉
  • 连仕彤博客cloudns配置动态域名解析

    行 者
  • LeetCode 4. 寻找两个有序数组的中位数(二分查找,难)

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays...

    Michael阿明

扫码关注云+社区

领取腾讯云代金券