[TOC]
## **Selenium是一款基于Web页面的UI自动化测试框架**
1、支持多浏览器操作:Chrome、IE、Firefox、Safaria等
2、支持夸平台,Windows、Linux、Mac等
3、支持多语言,Python、Java、Ruby、C#等
## **1、Selenium webdriver 原理:**
Webdriver是按照Client/Server模式设计的
Client:编程语言客户端
Server:浏览器驱动程序。用来接收客户端的请求并驱动浏览器执行操作然后返回结果
Selenium代码与浏览器驱动程序之间是通过http协议进行数据交互的。这种方式,不在乎客户端是什么样的形式,只要数据的格式和协议是服务端能够解析的就可以了。
![](https://img.kancloud.cn/47/b7/47b7e5319695a0dfa13647b4c355d1d2_899x298.png)
通信步骤为:
1、webdriver启动浏览器驱动程序,并设置侦听端口号
2、webdriver客户端与浏览器服务端建立连接
3、连接成功后,所有的操作(比如:查找元素、点击等)都是客户端通过
commandExecuter发送http请求到服务端;服务端根据收到的请求做相应的操作并返回
<br>
<br>
以上简单的介绍,那么下面我们一起来搭建环境,记得当初我自己自学selenium的时候,说来也是奇葩乌龙事件很多
一个selenium环境搭建了3天,还吧电脑搞得系统重装,哈哈哈哈哈,正题进入
:-: 1:python3的环境要下载好,python3大家去自行下载(版本:3.6-3.8即可)
:-: 2:chrome浏览器
:-: 3:selenium
:-: 4: ChromeDriver版本
**注意: ChromeDriver的版本和chrome的版本要对应,如下是对应表,必须对应,以免后期出现环境问题(本人已mac为准)**
**[第一步]():**
chrome老版本下载地址:https://www.slimjet.com/chrome/google-chrome-old-version.php
<br>
**[第二步:]()**
chromedriver:地址如下
镜像1:[http://npm.taobao.org/mirrors/chromedriver/](http://npm.taobao.org/mirrors/chromedriver/)
镜像2:[http://chromedriver.storage.googleapis.com/index.html](http://chromedriver.storage.googleapis.com/index.html)
![](../images/screenshot_1596336077237.png)
chrome和chromedriver的版本按照搭建所用的系统以及系统(64位)(32位)下载即可
<br>
**[第三步:]()**
下载------>:selenium
使用windows的伙伴如果python3的环境已经下载好了,那么可以使用pip来下载
```
pip install selenium # 默认下载最高版本
pip install selenium==2.4.1 # 指定版本
```
下载后验证是否下载成功打开cmd,输入python回车
~~~bash
from selenium import webdriver
~~~
没有报错就成功了
**有的时候pip下载selenium特别慢怎么办或者安装总是提示连接超时失败。可以通过国内源进行安装,别急让子弹飞一会儿,解决方法:给它加加速**
阿里云 [https://mirrors.aliyun.com/pypi/simple/](http://mirrors.aliyun.com/pypi/simple/)
中国科技大学 [https://pypi.mirrors.ustc.edu.cn/simple/](https://pypi.mirrors.ustc.edu.cn/simple/%20)
豆瓣(douban) [http://pypi.douban.com/simple/](http://pypi.douban.com/simple/)
清华大学 [https://pypi.tuna.tsinghua.edu.cn/simple/](https://pypi.tuna.tsinghua.edu.cn/simple/)
中国科学技术大学 [http://pypi.mirrors.ustc.edu.cn/simple/](http://pypi.mirrors.ustc.edu.cn/simple/)
```
pip install -i https://mirrors.aliyun.com/pypi/simple/ selenium
```
<br>
<br>
现在我们selenium已经下载好了,导入也成功说明没问题,那么我们将chrome浏览器下载好后安装,然后在吧ChromeDriver解压:放入**python的bin目录即可**
现在在进入cmd,输入如下,如果没有问题浏览器被正常打开说明我们环境以及成功了,就剩下写代码
~~~bash
Python 3.7.0 (default, Aug 22 2018, 15:22:33)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.
from selenium import webdriver
browser = webdriver.Chrome()
~~~
- 自动化测试之程
- 第一章:adb——小识
- 一:adb介绍
- 二:adb安装与卸载
- 三:adb获取包名
- 四:adb获取日志
- 五:其他常用命令
- 第二章:LIunx
- 一:Liunx:简介
- 二:Liunx:常用命令
- 第三章:测试常见面试题
- 一:HTTP与HTTPS
- 二:token-cookie-session
- 三:定位以及数据分离
- 四:接口测试面试题
- 五:Python面试题
- 数据类型
- 1:python面试题
- 六:selenium面试题
- 七:liunx面试题
- 1:liunx查看日志
- 二:文件操作
- 八:WebSocket
- 九:腾讯面试题
- 十:关于adb的面试题
- 小结:不常见的面试题
- 模拟面试
- 第四章:selenium自动化
- 一:selenium介绍以及环境搭建
- 二:selenium项目目录解析
- 三:selenium项目方法实现
- 四:八大定位方法
- 五:selenium基本操作
- 六:selenium显示等待和隐式等待
- 七:selenium键盘操作
- 八:获取断言信息
- 九:selenium窗口操作
- 十:selenium-cookie操作
- 十二:selenium截图操作
- 第五章:Appium-Python篇
- 一:Appium介绍
- 二:windows搭建Appium
- 三:Mac版Appium搭建IOS
- 四:Appium初次启动
- 五:Capsbility详解
- 六:定位元素以及工具介绍
- 七:Appium代码实现
- 八:Capability配置数据与定位参数分离
- 九:定位方法以及元素等待
- 十:页面滑动
- 十一:appium截图
- 十二:Automator简介
- 十三:uiautomator定位方式
- 十四:Monkey介绍
- 十五:Monkey命令解析
- 十六:Monkey查看日志
- 第六章:接口自动化测试
- 一:什么是接口自动化
- 二:HTTP协议
- 三:Request接口访问
- 四:unittest使用
- 五:获取cookie以及请求处理
- 六:接口异常处理
- 七:接口测试框架设计到开发
- 八:接口测试之数据库操作
- 九:定时任务
- 第七章:Python负载工具Locust
- 一:Locust介绍
- 第八章:搭建测试环境
- 一:安装java的jdk
- 二:安装tomcat
- 三:Mysql安装
- 第九章:ios自动化系列
- 一:ios自动化介绍
- 二:ios自动化环境搭建
- 三:ios常用命令
- 第十章:测试工具系列
- 一:postman系列
- 1:postman介绍
- 2:postman界面介绍
- 3:postman请求实例
- 4:postman高阶应用
- 5:collection用例集
- 6:postman上传图片
- 7:postman上传文件
- 8:postman使用Headers
- 二:jmeter
- 三:charles