web自动化的环境部署及selenium原理

selenium环境安装

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

 

python,有自带的内置模块(os、time), 也有第三方模块,第三方模块需先安装 ,才可使用

要做自动化,就先安装环境

1、先安装selenium

2、查看浏览器类型及版本号

3、下载对应的浏览器驱动(低版本的火狐浏览器不需要下载驱动,高版本需要下载驱动)

4、就是将驱动放置对应安装目录下

下面就是具体的步骤

 

一、安装selenium

1、 使用python自带的pip安装工具

1.1、打开命令行cmd窗口(win+R或者在我的电脑路径里面输入cmd)

直接输入命令:

pip install selenium

或(pip install selenium==2.53.6)指定下载的版本号

 

 

 

2、如果没有配置python环境变量,首先需切换至pip工具安装目录,进入python的安装目录的,每个人的安装目录可能不一样的,我安装在D盘

 

2.1、把pip.exe拖到cmd命令窗口中

 

至于为什么要配置环境变量(就是你要运行python文件,需要解释器,然后你需要给程序说你的解释器放在哪,它才去那找,默认就先从当前目录找,找不到就去系统环境变量去找,所以你配置了环境变量就可以了,如果没有配置,就需要给他指定路径)

 

特殊情况:python安装默认国外的源,比较慢,有时候安装不成功或者报超时,后面可以指定下载的路径,比如一些国内大公司搭的服务器、在后面添加参数,指定下载源 -i 后面的接的是安装源,选择的是清华的,

install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple 点击回车

 

2.2、应该一分钟左右就会出现安装成功的提示

 

3、使用Pycharm编译工具直接安装selenium

 

二、安装chrome浏览器,如果已经安装就不必再安装了

前面也讲了,selenium是支持多浏览器的,后续主要以chrome浏览器为例展开介绍,其他浏览器安装是类似的。

下载浏览器的时候认准官方正版,避免山寨

 

浏览器安装不对,错误提示是没找到浏览器或者安装不对

 

三、查看浏览器的版本号

 

浏览器的版本号,主要看前面的大版本即可

 

四、查找和版本号相关的chrome驱动

网址 https://blog.csdn.net/qq_43422918/article/details/97244696

五、根据网址下载对应驱动

里面分window linux mac系统,这个不分什么32位,64位,直接按对应的操作系统下载即可

 

 

 

六、解压后放置到python的安装目录,如下图

 

 

七、打开pycharm ,查看settting中的python解释器是否有对应的selenium库,有则说明安装成功,没有则说明设置的python解释器不对,有些人本地环境安装多个python解释器,如python2.7,python3.6,重新选择解释器

 

八、关闭浏览器自动更新

关闭浏览器自动更新功能(防止驱动版本与浏览器对应不上)

 

 

关闭浏览器更新。chrome需要去 控制面板--》管理工具--》服务--》google服务禁用--》reboot

 

异常情况:

安装的过程中出现Traceback (most recent call last):异常

安装前先关闭防火墙

 

 

Selenium原理

先通过一个简单的类比说个好理解的,这个比喻是我从美版知乎Quora上看到的,觉得比较形象、好理解拿来用用。

我们可以把WebDriver驱动浏览器类比成出租车司机开出租车。

在开出租车时有三个角色:

  • 乘客:他/她告诉出租车司机去哪里,大概怎么走
  • 出租车司机:他按照乘客的要求来操控出租车
  • 出租车:出租车按照司机的操控完成真正的行驶,把乘客送到目的地

 

在WebDriver中也有类似的三个角色:

工程师写的自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动)

浏览器的驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器

浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。

所以在这个类比中:

1. 工程师写的自动化测试代码就相当于是乘客

2. 浏览器的驱动就相当于是出租车司机

3. 浏览器就相当于是出租车

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

Selenium测试直接运行在浏览器中,就像真正的用户在操作一样

 

 

下面再从技术上解释下WebDriver的工作原理:

从技术上讲,也同样是上面的三个角色:

1. WebDriver API(基于Java、Python、C#等语言)

对于java语言来说,就是下载下来的selenium的Jar包,比如selenium-java-3.8.1.zip包,代表Selenium3.8.1的版本

2. 浏览器的驱动(browser driver)

每个浏览器都有自己的驱动,均以exe文件形式存在

比如谷歌的chromedriver.exe、火狐的geckodriver.exe、IE的IEDriverServer.exe

3. 浏览器

浏览器当然就是我们很熟悉的常用的各种浏览器。

工作原理

 

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

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

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

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

 

 

 

测试

Selenium安装后,需要测试下是否可以正常工作,

新建python文件,只需几条语句:

#coding=utf-8

import time

from selenium import webdriver

driver =webdriver.Chrome()#实例化一个谷歌浏览器,并打开

driver.maximize_window()#最大化浏览器

driver.get('https://www.baidu.com')#输入网址

time.sleep(5)#等待5秒

driver.quit()#关闭浏览器

此时,如何浏览器被打开且自动访问了百度网址,那么安装就正常完成了。

 

 

 

 

 

MAC操作系统

关闭谷歌更新:

可能在有些Mac上发现在“/Library”这个根目录下没有Google目录,那么其实在“~/Library”这个用户目录下也有一个Google目录。在该目录下执行操作同样可以禁用自动更新。请执行以下命令:

 

cd ~/Library/Google

sudo chown root:wheel GoogleSoftwareUpdate

 

相当于修改了GoogleSoftwareUpdate这个文件夹的拥有者,而不仅仅是修改了权限,使Google对该文件夹没有写入权限。事实证明这种方式是可行的。重启Chrome完成以后通过“帮助->关于Google Chrome”可以查看信息:

 

下载相应的ChromeDriver

 

安装ChromeDriver

将下载好的可执行文件移动到/usr/local/bin目录中:

将下载的ChromeDriver文件解压拖到桌面上,然后命令移到指定目录

sudo mv ~/Desktop/chromedriver /usr/local/bin

执行cd /usr/local/bin然后ll查看里面文件,会看到ChromeDriver

 

环境部署参考链接:https://blog.csdn.net/Lynn_mg/article/details/84523007

关闭谷歌更新参考链接:https://blog.csdn.net/chenyufeng1991/article/details/78568919

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值