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. Guava google缓存机制

    易百教程java学习http://www.yiibai.com/v3.php?app=all

  2. unity shader之预备知识

    1.渲染流水线 任务:从一个三维场景出发,生成(或者渲染)一张二维图像.即:计算机需要从一系列的定点出数据,纹理等信息出发,把这些信息最终转换程一张人眼可以看到的图像.而这个工作通常是由CPU和GPU ...

  3. SQL SERVER数据库中DDL语句

    一 修改表列名 EXEC sp_rename 'table_name.[字段旧名]', '字段新名' , 'COLUMN'; 二 修改列类型 ALTER TABLE table_name  ALTER ...

  4. Java 安全之:csrf防护实战分析

    上文总结了csrf攻击以及一些常用的防护方式,csrf全称Cross-site request forgery(跨站请求伪造),是一类利用信任用户已经获取的注册凭证,绕过后台用户验证,向被攻击网站发送 ...

  5. Oracle 优化器_访问数据的方法_单表

    Oracle 在选择执行计划的时候,优化器要决定用什么方法去访问存储在数据文件中的数据.我们从数据文件中查询到相关记录,有两种方法可以实现:1.直接访问表记录所在位置.2.访问索引,拿到索引中对应的r ...

  6. 懒人必备:.NetCore快速搭建ELK分布式日志中心

    该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaicsearch.Kibana的缩写,可用于从不同的服务中收集日志 ...

  7. java设计模式9.备忘录模式、访问者模式、调停者模式

    备忘录模式 备忘录模式又叫快照模式,备忘录对象是一个用来存储另外一个对象内部状态快照的对象.备忘录的用意是在不破坏封装的条件下,将一个对象的状态捕捉,并外部化存储起来,从而可以在将来合适的时候把这个对 ...

  8. Codeforces Round #506 (Div. 3) 1029 F. Multicolored Markers

    CF-1029F 题意: a,b个小正方形构造一个矩形,大小为(a+b),并且要求其中要么a个小正方形是矩形,要么b个小正方形是矩形. 思路: 之前在想要分a,b是否为奇数讨论,后来发现根本不需要.只 ...

  9. 图论之拓扑排序 poj 2367 Genealogical tree

    题目链接 http://poj.org/problem?id=2367 题意就是给定一系列关系,按这些关系拓扑排序. #include<cstdio> #include<cstrin ...

  10. mysql之innodb-锁

    本篇主要根据innodb存储引擎的锁进行阐述,包括分类,算法,以及锁的一些问题 一.锁的概述 为了保证最大程度的利用数据库的并发访问,又要确保每个用户能以一致的方式读取和修改数据,为此锁就派上了用场, ...