Selenium 自述
Selenium 是由Jason Huggins软件工程师编写的一个开源的浏览器自动化测试框架。主要用于测试自动化Web UI应用程序。

Selenium 工作原理
通过编程语言(C#、java、javascript、Python、Ruby)来调用Selenium API,从而驱动浏览器进行自动化Web UI应用测试。

Selenium 特点
开源:使用c语言编写的,开放源代码,任何人都阅读源码,自由修改。
真实:模拟用户各种操作(鼠标与键盘上操作),支持相对复杂交互。
跨平台: 支持多浏览器。(IE、Chrome、Firefox)
              支持多服务端平台。(C#、java、javascript、Python、Ruby)

Selenium 组件

Selenium IDE:

一款浏览器chrome/Firefox的Selenium插件,可以在浏览器端自动创建测试与执行测试用例,支持脚本记录与回放。
运行模式由Selenium IDE与浏览器组成。

Selenium WebDriver:

通过编程语言(C#、java、javascript、Python、Ruby)可以在单一本地或远程计算机上本地模拟用户进行操作浏览器。
运行模式由编程语言、Selenium、浏览器组成。

Selenium Remote Control:

通过编程语言(C#、java、javascript、Python、Ruby)可以在远程服务器中远程控制本地或其他计算机模拟用户进行操作浏览器。
运行模式由编程语言、Selenium Remote Control Server、Selenium、浏览器组成。
PS:随着Selenium 2的发布,Selenium Remote Control已被正式弃用,推荐使用Selenium WebDriver。

Selenium Grid:

是对Selenium Remote Control扩展,通过编程语言(C#、java、javascript、Python、Ruby)可以在远程服务器中控制多台本地或其他计算机模拟用户进行操作浏览器。
运行模式由编程语言、Selenium Grid、Selenium、浏览器组成。

总结:浏览器自动化测试可以减少重复Web UI测试工作与测试成本,从而提高测试效率。

         浏览器自动化测试页面频繁更改会增加测试脚本维护成本,而且浏览器自动化测试不能完全取代人工测试。

Selenium 上手:Selenium扫盲区的更多相关文章

  1. Selenium (3) —— Selenium IDE + Firefox录制登录脚本(101 Tutorial)

    Selenium (3) -- Selenium IDE + Firefox录制登录脚本(101 Tutorial) selenium IDE版本: 2.9.1 firefox版本: 39.0.3 参 ...

  2. Selenium (4) —— Selenium是什么? WebDriver是什么?做什么?(101 Tutorial)

    Selenium (4) -- Selenium是什么? WebDriver是什么?做什么?(101 Tutorial) selenium版本: v2.48.0 (Standalone Seleniu ...

  3. Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)

    Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standa ...

  4. Selenium (1) —— Selenium安装与测试(101 Tutorial)

    Selenium (1) -- Selenium安装与测试(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standalone Selenium ...

  5. selenium - 查看selenium版本信息

    1. pip list 2. pip show selenium 3. cmd>>python >>> import selenium>>> help( ...

  6. 【selenium】- selenium简介

    本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. Selenium的来历 2. Selenium家庭成员 Selenium RC: Selenium 1 Selenium Webdriv ...

  7. 自动化测试模型 Selenium IDE Selenium Gird2

    1.线性测试 每个测试脚本相对独立,且不产生其他依赖与调用,其实就是单纯的来模拟用户完整的 操作场景.前一篇所写的测试脚本就属于线性测试. 优点:每个脚本完整且独立 缺点:测试用例的开发与维护成本高 ...

  8. Selenium(一)---Selenium的安装和使用

    一.前言 最近在帮一个老师爬取网页内容,发现网页是动态加载的,为了拿到全部的网页数据,这里使用到了Selenium.Selenium 是一个用于Web应用程序测试的工具,它可以模拟真实浏览器,支持多种 ...

  9. selenium上手

    功能自动化 前提 自动化的主要目的并不是为了找Bug,是为了证明功能可用 不只是所有的功能都可以自动化,如UI 并不是所有的项目都可以使用自动化,如selenium只能使用bs项目,小项目不适合使用自 ...

随机推荐

  1. 树型DP入门

    题意: 某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,现在已知每个人的活跃指数和上司关系(当然不可能存在环),求邀请哪些人(多少人)来能使得晚 ...

  2. Python 把较长的一行代码分成多行的技巧

    概述:在写代码过程中,经常遇到一行代码很长的情况.为了让代码显得整齐干净,就需要把一行代码分成多行来写,Python中有三种小技巧可以实现该功能:        1.用反斜杠\链接多行代码 示例:   ...

  3. php多域名单站点路由

    能够使多域名但是只有一个站点的小站,通过路由访问到各个指定目录 <?php //域名跳转路由 //默认跳转 $default = "http://www.stanwind.com/in ...

  4. 【BZOJ-4289】Tax 最短路 + 技巧建图(化边为点)

    题意 给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价.起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权N<=10 ...

  5. Let和Const的使用

    ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const. let 声明的变量只在 let 命令所在的代码块内有效,const 声明一个只读的常量,一旦声明, ...

  6. luogu P4383 [九省联考2018]林克卡特树lct

    传送门 题目操作有点奇怪,不过可以发现这就是把树先变成\(k+1\)个连通块,然后每个连通块选一条路径(本题中一个点也是一条路径),然后依次接起来.所以实际上要求的是选出\(k+1\)条点不相交的路径 ...

  7. 如何导入GitHub下的vue项目 并启动

    如何运行  下载的GitHub项目 一 准备工作: Node.js环境(npm包管理器) vue-cli 脚手架构建工具 cnpm npm的淘宝镜像 二 安装node.js 略 cmd 输入node ...

  8. C语言:标准IO_fopen( )、fclose() ①

    思前想后一个月,我终于敲下了我的第一篇开山之作. 博客千千万,我的博客首先记录的是学习时候的理解,用于给自己翻阅查找,现在主要研究的是C语言和STM32.如果能帮到你,那是最好的,假如我写的东西有错误 ...

  9. 云主机使用ansible出现秘钥认证问题

    使用ansible的时候,出现如下秘钥失效的问题: root@jumpserver ftp]# ansible web -m ping The authenticity of host 'web-00 ...

  10. Codeforces 975 前缀和二分算存活人数 思维离直线速度相同判平行

    A /* Huyyt */ #include <bits/stdc++.h> using namespace std; typedef long long ll; ]; ]; map< ...