Selenium 简介

Selenium 是一款开源的web自动化测试工具,用来模拟对浏览器的操作(主要是对页面元素的操作),简单来讲,其实就是一个jar包。Selenium早期的版本比如1.0市场占有率很小,主要原因都是因为1.0采用的是js注入的方式,带来得问题比如跨域的问题,安全性的问题。2.0版本已经解决这个问题,主要采用浏览器的原生组件来操作浏览器,所以针对不同的浏览器需要相应的 native component 把WebDriver 的API 转化成浏览器的 native invoke。3.0 版本的主要变化是支持w3c。至于各个版本之间到底有什么不同,如果有兴趣可以参考Selenium官方网站。

版本选择:不管你是初学者还是之前了解过,还是建议直接使用Selenium3.0以上版本,必定新的版本稳定性,性能,兼容性更好一些(除了Firefox需要显示设置 geckodriver.exe之外几乎和以前没什么不同,当然2.0也是需要驱动的只不过Selenium内部帮你设置了)

  1. 下载地址: https://www.seleniumhq.org/download/ 选择 Selenium Standalone Server下的 Download version 链接即可,目前 最新版本 3.12.0 (下载记得用代理)
  2. 驱动:同页面下有相应的浏览器驱动,例如火狐的 GeckoDriver,google的 Chrome Driver ,注意IE 驱动分为32位和64位版本

版本升级:如果浏览器提示你升级,建议等一等,因为有可能相应的Selenium驱动版本还未更新,老的驱动在新版本的浏览器执行时可能会有兼容问题,这种问题几乎无法解决,所以升级要慎重(不说了,全是泪),建议等2-3周再更新并下载新的驱动。

对于无法使用代理的同学,提供另一个种方式,也是比较推荐的方式,如果你是java的项目,可以搭建maven项目(如何搭建不在详细讲述,可自行百度,非常简单,python 程序请参考自动化教程之Selenium python版本)。简单分为如下三个步骤:

  1. 打开maven 仓库地址:https://mvnrepository.com/,在搜索栏中输入Selenium,点击"search"
  2. 点击第一个黑体链接 Selenium Java,点击最新版本3.12.0
  3. 拷贝页面中间 dependency部分到你的项目的pom依赖中(maven会自行下载jar到你的maven仓库中),下载成功后你的pom中dependency依赖会变成黑色(表示下载成功,否则为红色),且在项目的External Libraries中会显示有关Selenium的jar,由于网速不同,下载有时会稍慢,可耐心等待,如下图:

下载成功

External Libraries显示的jar

  Selenium 驱动无法通过Maven来下载,必须使用代理,所以需要驱动的同学可以加QQ群781632085,所有驱动、框架、都再里面。

当Selenium的jar和驱动都下载并配置完成后,我们就可以使用 Selenium 的api 进行第一个脚本了。什么,不知道怎么配置,没关系,详见 Selenium 教程第二篇《我的第一个Demo》。

转载请注明作者与出处,谢谢!

跟浩哥学自动化测试Selenium -- Selenium简介 (1)的更多相关文章

  1. 跟浩哥学自动化测试Selenium -- 浏览器的基本操作与元素定位(3)

    浏览器的基本操作与元素定位 通过上一章学习,我们已经学会了如何设置驱动路径,如何创建浏览器对象,如何打开一个网站,接下来我们要进行一些复杂的操作比如先打开百度首页,在打开博客园,网页后退,前进等等,甚 ...

  2. 跟浩哥学自动化测试Selenium -- 我的第一个Demo (2)

    我的第一个Demo 开始写第一个 Demo 之前,先熟悉一下编写 Selenium 脚本的四个步骤: 驱动路径写法分析:System.setProperty 主要做用是设置系统属性,第一个参数为系统属 ...

  3. 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)

    菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...

  4. 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  5. 《零成本实现Web自动化测试--基于Selenium》 第五章 Selenium-RC

    一. 简介 Selenium-RC可以适应更复杂的自动化测试需求,而不仅仅是简单的浏览器操作和线性执行.Selenium-RC能够充分利用编程语言来构建更复杂的自动化测试案例,例如读写文件.查询数据库 ...

  6. 篇5 python自动化测试应用-Selenium环境篇

    篇5                            python自动化测试应用-Selenium环境篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),从本篇开始我将开始 ...

  7. 自动化测试-15.selenium单选框与复选框状态判断

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  8. Python selenium —— selenium与自动化测试成神之路

    From: https://blog.csdn.net/huilan_same/article/details/52559711 忽然想谈谈自动化的学习路径,因为发现很多人总是急于求成,不懂该如何学习 ...

  9. 爬虫入门【6】Selenium用法简介

    Selenium 是什么? 一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器. 如果你在这些浏览器里面安装一个 Selenium 的插件, ...

随机推荐

  1. sqoop导数据到hive报错

    [root@hadoop1 conf]# sqoop import --connect jdbc:mysql://192.168.122.15:3306/company --username sqoo ...

  2. loadrunner脚本中参数化和返回值输出log到外部文件

    loadrunner脚本中参数化和返回值输出log到外部文件 很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参 ...

  3. mpvue微信小程序开发随笔

    mpvue上手很快,学习成本低,目前是开源的,适合技术实力不是很强的公司采用. spring boot 做后台,开发效率杠杠的.建议会java的开发尽量使用spring boot 开发,省事. 最近用 ...

  4. 使用DBNEWID Utility 修改oracle数据库的 db name 和 dbid

    使用DBNEWID Utility 工具可以同时修改数据库名.DBID,也可以只修改其中一项 官方参考: https://docs.oracle.com/cd/E11882_01/server.112 ...

  5. flashback query闪回数据

    误删除了部分重要数据,已提交,需要恢复.首先尝试flashback query闪回数据. 数据库运行在归档模式,首先确认数据库的SCN的变化: SQL> col fscn for 9999999 ...

  6. 【js】 ajax 与 axios 区别

    ajax 与 axios区别 Ajax: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发 ...

  7. 19-3-14Python中函数的进阶

    1.动态参数: def func(*args): #在形参位置*叫做聚合 print(args) #元组形式 func(1,2,3,4,5,6) def func(**kwargs): # 动态关键字 ...

  8. 每天一个linux命令(1):find命令之exec

    ind是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释:-exec 参数后面跟的是command命令, ...

  9. js 变量声明易混淆的几点知识

    这是我 JavaScript 学习过程中遇到的一些容易混淆的地方,趁着有时间,做了一个整理. 变量提升 变量与函数名提升优先级 js 作用域内有变量,这个很好理解,但有一些细节需要注意. consol ...

  10. 用file标签实现多图文件上传预览

    效果图: js 代码: <script> //下面用于多图片上传预览功能 function setImagePreviews(avalue) { var docObj = document ...