selenium简介:
seelenium是web应用程序自动化工具,通过自动操作浏览器,进行点击、输入、回车、返回等来模拟用户的真实行为。如何理解和看待selenium项目,selenium官方有个很经典的回答:“自动化操作的浏览器,就是这样......做你想做的事,一切取决于你“。
selenium目前有三个版本:selenium1.0,selenium2.0,selenium3.0。selenium1.0已被官方弃用。为紧跟时代潮流,我们这里学习selenium3.0,主要由selenium webdriver 和 selenium Grid组成,selenium webdriver是对浏览器的操作,selenium Grid用于分布式实现自动化测试
 
selenium优势:
1.开源,免费
2.跨平台:Linux、windows、MAC
3.跨浏览器:Firefox、Chrome、IE 等
4.支持多语言:Java、Python、JavaScript、C++ 等
 
selenium工作原理:
1.selenium client(python等语言编写的自动化测试脚本)初始化一个service服务,通过Webdriver启动浏览器驱动程序chromedriver.exe
2.通过RemoteWebDriver向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如果再次对浏览器操作需携带此id
3.打开浏览器,绑定特定的端口,把启动后的浏览器作为webdriver的remote server
4.打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过RemoteConnection链接到remote server,然后使用execute方法调用_request方法通过urlib3向remote server发送请求
5.浏览器通过请求的内容执行对应动作
6.浏览器再把执行的动作结果通过浏览器驱动程序返回给测试脚本
 
python环境安装
 
安装python ,下载地址https://www.python.org/
下载之后一路默认安装,只要在添加路径时勾选上就行,小胖虎这里使用的python版本为3.7.4
 
安装完成后,cmd到dos下输入python, 验证python是否安装成功
如上,表示python安装成功
 
selenium环境安装
1.cmd到dos窗口,输入pip install selenium
注:pip install selenium == 版本号,可以下载对应版本的selenium。
2.安装成功后,输入python,进入shell模式,输入from selenium import webdriver, 没有报错表示安装selenium成功
3.也可输入 pip show selenium查看安装的selenium版本
 
 
浏览器驱动安装
 
Chrome安装驱动
1. chromedriver 下载地址: http://npm.taobao.org/mirrors/chromedriver/, 根据自己Chrome版本
来下载对应驱动,小胖虎的Chrome版本是76.0.3809 ,那么就下载76.0.3809的驱动。
 
 
2. 将下载好的驱动,解压后放到python根目录下
小胖虎的chrome版本是
注意:需要把python目录配置到环境变量,安装python时已配置好,如果没配置的请自己配置一下
3. 安装配置完成后,我们运行一下看驱动是否安装成功, 启动了Chrome浏览器,perfect。
 
Firefox安装驱动
 
1.从selenium3×开始,Firefox47版本以上,需要安装geckodriver,下载地址: https://github.com/mozilla/geckodriver/releases/,根据系统自行下载。小胖虎
 
 
2. 下载完成后,解压到python的根目录下:
 
 
3.安装配置完成后,写下代码看Firefox驱动是否安装成功
打开firefox并打开百度页面,表示运行成功
 
总结:安装环境的过程中,可能会遇到很多坑,多思考并解决问题,接下来,小胖虎会带来系列的selenium文章,喜欢的话请关注,
有疑问可以加QQ群:701841415 或 关注微信公众号:ITester软件测试小栈
 

selenium介绍及环境安装的更多相关文章

  1. Appium 介绍及环境安装

    Appium是一个可用于测试iOS. Android操作系统和Windows桌面平台原生应用,移动网页应用和混合应用的自动化测试框架. 原生应用(Native App):用 android.iOS或者 ...

  2. RabbitMQ简单介绍+Windows环境安装

    文章目录 1.RabbitMQ简介2.RabbitMQ与其他MQ有什么不同3.RabbitMQ环境安装3.1 安装erlang3.2 安装rabbitmq-server4. RabbitMQ管理平台介 ...

  3. Redis介绍和环境安装

    -------------------Redis环境安装------------------- 1.安装     1.卸载软件         sudo apt-get remove redis-se ...

  4. selenium介绍和环境搭建

    一.简单介绍 1.selenium:Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Fire ...

  5. GeoTools介绍、环境安装、读取shp文件并显示

    GeoTools是一个开放源代码(LGPL)Java代码库,它提供了符合标准的方法来处理地理空间数据,例如实现地理信息系统(GIS).GeoTools库实现了开放地理空间联盟(OGC)规范. Geot ...

  6. Selenium WebDriver + Python 环境配置

    1.   下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...

  7. 【转】Selenium WebDriver + Python 环境

    转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...

  8. selenium+python自动化之环境安装

    一.Python安装 1.操作系统:win7 64位系统 2.下载Python安装包,选择2.7版本和3.6版本都可以(最好安装2.7版本稳定)官网下载地址:https://www.python.or ...

  9. python+selenium自动化测试环境安装

    因为自己安装自动化测试环境时,遇到过许多问题,自己整理了一下安装的步骤,感谢那些帮助过我的人. 1.安装python,我装的是3.5版本,网络上也有许多安装步骤,照着就可以了(其实一直下一步也行) 不 ...

随机推荐

  1. js获取(包括中文)字符串长度与截取字符串

    /** * @param begin 截取开始的索引 * @param num 截取的长度 */ //截取字符串(包括中文) function SetString(str, len) { var st ...

  2. Nginx和Apache各自的优缺点

    nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下ngin ...

  3. Flink中Periodic水印和Punctuated水印实现原理(源码分析)

    在用户代码中,我们设置生成水印和事件时间的方法assignTimestampsAndWatermarks()中这里有个方法的重载 我们传入的对象分为两种 AssignerWithPunctuatedW ...

  4. Python数据分析之pandas基本数据结构:Series、DataFrame

    1引言 本文总结Pandas中两种常用的数据类型: (1)Series是一种一维的带标签数组对象. (2)DataFrame,二维,Series容器 2 Series数组 2.1 Series数组构成 ...

  5. 可以穿梭时空的实时计算框架——Flink对时间的处理

    Flink对于流处理架构的意义十分重要,Kafka让消息具有了持久化的能力,而处理数据,甚至穿越时间的能力都要靠Flink来完成. 在Streaming-大数据的未来一文中我们知道,对于流式处理最重要 ...

  6. 五大典型场景中的API自动化测试实践

    一.API 测试的基本步骤 通常来讲,API 测试的基本步骤主要包括以下三大步骤: 1.准备测试数据: 2.通过通用的或自己开发的API测试工具发起对被测API的request: 3.验证返回结果的r ...

  7. 从入门到入土的JS 随笔day02 新手向

    讲讲自增自减和循环语句及三元一次表达式: 一.自增自减实际上就是按照顺序来解读代码, 例如,a++;代表了a先进行了计算,运算完毕后,才进行增加: ++a呢,则是先进行了自增,值加一后再进行运算: 如 ...

  8. BZOJ2152 聪聪可可 (点分治)

    2152: 聪聪可可 题意: 在一棵边带权的树中,问任取两个点,这两个点间的权值和是3的倍数的概率. 思路: 经典的点分治题目. 利用点分治在计算所有路径长度,把路径长度对3取模,用t[0],t[1] ...

  9. hdu 1503 Advanced Fruits 最长公共子序列 *

    Advanced Fruits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  10. 【Offer】[44] 【数字序列中某一位的数字】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 数字以0123456789101112131415..的格式序列化到一个字符序列中.在这个序列中,第5位(从0开始计数)是5,第13位是 ...