码迷,mamicode.com
首页 > 编程语言 > 详细

python selenium系列(一):框架介绍及安装

时间:2018-06-17 23:24:22      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:cli   family   new   表示   fir   server   import   pytho   vpd   

  selenium是什么?

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

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

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

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


  seleniumwebdriver啥关系?

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

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


  WebDriver的工作原理

讲了seleniumwebdriver的关系后,我们学习selenium,实际主要是学习webdriverapi使用方法。但是,在此之前,有必要先了解一下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安装后,需要测试下是否可以正常工作,只需几条语句:

# 测试selenium安装情况, selenium可以打开chrome浏览器
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("https://www.baidu.com/")
print(browser.title)
browser.quit()
此时,如何浏览器被打开且自动访问了百度网址,那么安装就正常完成了。

关于python selenium介绍及环境安装的视频讲解,请参看:http://i.youku.com/weiworld521  第 24 节。

python selenium系列(一):框架介绍及安装

标签:cli   family   new   表示   fir   server   import   pytho   vpd   

原文地址:http://blog.51cto.com/2681882/2130210

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!