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. Quick setup

    Quick setup — if you’ve done this kind of thing before We recommend every repository include a READM ...

  2. Altium 技巧 记录

    1.隐藏全部网络,即隐藏全部的飞线,便于布局,在 PCB 编辑器下,选择工具→连接→显示或隐藏全部网络即可 2.元器件非常多时,模块化布局的小技巧,参考:Altium Designer(DXP)小技巧 ...

  3. 3.高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建

    高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建 如果大家看了我的上一篇<2.高并发教程-基础篇-之nginx+mysql实现负载均衡和读写分离>文章,如果能很好的 ...

  4. C# WinForm开发系列 - ListBox/ListView/Panel【zz】

    原文传送:http://www.cnblogs.com/peterzb/archive/2009/06/18/1505424.html 1.ColorListBox   ColorListBox.zi ...

  5. 获取Linux下的IP地址 java代码

    /** * 获取Linux下的IP地址 * * @return IP地址 * @throws SocketException */ public static String getLinuxLocal ...

  6. mysql5.7 安装版 表不能输入汉字解决方案

    安装版本 的安装目录没有 my.ini 配置文件 在所在表执行 alter table 数据表名 CONVERT TO CHARACTER SET utf8;

  7. POJ2311 Cutting Game(博弈论)

    总时间限制: 1000ms 内存限制: 65536kB 描述 Urej loves to play various types of dull games. He usually asks other ...

  8. 20181031noip模拟赛T1

    思路: 我们会发现不合法的位置只有两种情况 要么在前半边,要么在后半边 那么,我们将序列劈两次 使两次的长度分别为: (n为偶数时要特判一下,因为根本不可能) (n/2),(n/2+1) (n/2+1 ...

  9. 【PTA 天梯赛】L1-046 整除光棍(除法模拟)

    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数整除.比如,111111就可以被13整除. 现在,你的程序 ...

  10. day 34线程的其他方法,线程池

    线程的其他方法:  from threading import Thread,current_thread: currrent_thread().getName()  获取线程的名称 current_ ...