Selenium (4) —— Selenium是什么? WebDriver是什么?做什么?(101 Tutorial)
Selenium (4) —— Selenium是什么? WebDriver是什么?做什么?(101 Tutorial)
selenium版本: v2.48.0 (Standalone Selenium Server)
selenium IDE版本: 2.9.1
firefox版本: 39.0.3
参考来源:
Understanding Selenium IDE vs Selenium RC
Selenium Tutorial: Learn Selenium WebDriver
Selenium是什么?
“Selenium”是一个项目的名字,它包括了一组工具和API:Selenium IDE,Selenium RC,Selenium WebDriver,和Selenium Grid。Selenium项目主页:seleniumhq.org
Selenium IDE 是一个Firefox的插件,这个插件可以方便用户录制和回放浏览器上的操作。
Selenium-RC 是Selenium项目的第一个工具,它可以自动化浏览器中的Web应用。这个项目已经不在更新,新的推荐替代为WebDriver。
Selenium WebDriver 是一个支持浏览器自动化的工具。它包括一组为不同语言提供的类库和“驱动”(drivers)可以使浏览器上的动作自动化
Selenium Grid 可以使我们在远程多个浏览器,多台主机上进行自动化测试
WebDriver是什么?
WebDriver为很多语言提供类库:Java,C#,Ruby,JavaScript,Python,PHP,Perl和其他语言。这样就可以使使用WebDriver的开发人员使用自己最熟悉的语言,而不需要去学习WebDriver独有的脚本语言,使用WebDriver就像在自己项目中使用一个第三方库一样。
WebDriver用“驱动”(driver)去控制不同的浏览器。目前驱动支持的浏览器包括Firefox,Chrome,Safari和IE。微软正在为Mcirosoft Edge研发新的driver。Firefox的driver是内置的,所以Firefox是多数项目进行自动化测试的首选。
WebDriver与“驱动”(driver)间用JSON协议进行通信,这种方式已经成为W3C标准。这就意味着,浏览器厂商会更愿意在生产他们自己的drivers时去满足支持WebDriver标准。即希望微软会为IE driver负责,苹果会为Safari的driver负责。
WebDriver还有一个移动驱动叫做Appium,它允许测试代码在移动设备和平板上运行。
因为WebDriver有Selenium Grid,云服务提供商可以为我们提供多种不同版本的浏览器及操作系统环境,让我们的测试在不同环境组合下运行。这种服务通常需要付费,但是与自己构建具有不同操作系统和不同浏览器的grid使用的时间和资源成本相比,还是负担得起的。
本质上Selenium是一个生态系统,我们可以进行本地桌面,本地移动设备,跨平台测试,我们不需要使用Windows,Mac或是Linux操作系统。我们可以选择自己项目团队最合适的编程语言。我们可以并行或远程执行我们的测试。所有需要做的就是学习如何使用WebDriver。
获取更多关于Selenium和自动化测试的信息可以访问课程web application testing with Selenium
WebDriver干什么?
WebDriver可是使浏览器自动化。WebDriver可以为我们打开URL与渲染出的页面进行交互:
- 新建一个浏览器实例
- 在浏览器中打开一个URL
- 点击页面上的链接
- 在字段中输入信息
- 在页面中执行JavaScript
WebDriver不是一个测试REST APIs、SOAP APIs或数据库的工具。
它是一个自动化浏览器的工具。
因为WebDriver本质上是一个库,我们可以将其与其他库一起使用,调用其他API或者对数据库进行操作。
通常WebDriver与其他库一起使用,访问数据库检查结果,使用REST库进行API调用,然后在WebDriver页面上检查结果。
结束
Selenium (4) —— Selenium是什么? WebDriver是什么?做什么?(101 Tutorial)的更多相关文章
- JMeter (1) —— JMeter与WebDriver安装与测试(101 Tutorial)
JMeter (1) -- JMeter与WebDriver安装与测试(101 Tutorial) 主要内容 JMeter安装 WebDriver安装 一个简单的JMeter+WebDriver示例 ...
- JMeter (2) —— JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial)
JMeter (2) -- JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial) 主要内容 JMeter与WebDriver测试用户登陆以CAS SSO为例 环 ...
- pycharm + selenium + python 提示 Unresolved reference 'webdriver' 解决办法
尝试使用python + selenium + pycharm 做自动化测试, 命令行pip install selenium 安装了selenium.但是使用pycharm 新建一个测试项目后并新建 ...
- Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)
Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standa ...
- selenium 参数设置-window.navigator.webdriver
selenium 参数设置 selenium启动chrome基本上与真实环境类似,但有一些变量还是不一样,需要注意. 有些网站通过这些参数识别爬虫. window.navigator.webdrive ...
- Selenium (3) —— Selenium IDE + Firefox录制登录脚本(101 Tutorial)
Selenium (3) -- Selenium IDE + Firefox录制登录脚本(101 Tutorial) selenium IDE版本: 2.9.1 firefox版本: 39.0.3 参 ...
- Selenium (1) —— Selenium安装与测试(101 Tutorial)
Selenium (1) -- Selenium安装与测试(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standalone Selenium ...
- 【selenium】- selenium简介
本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. Selenium的来历 2. Selenium家庭成员 Selenium RC: Selenium 1 Selenium Webdriv ...
- 自动化测试模型 Selenium IDE Selenium Gird2
1.线性测试 每个测试脚本相对独立,且不产生其他依赖与调用,其实就是单纯的来模拟用户完整的 操作场景.前一篇所写的测试脚本就属于线性测试. 优点:每个脚本完整且独立 缺点:测试用例的开发与维护成本高 ...
随机推荐
- springboot 1.5.x 使用tomcat8设置cookie的domain以dot开头报错
"C:\Program Files\Java\jdk1.7.0_75\bin\java" -XX:TieredStopAtLevel=1 -noverify -Dspring.ou ...
- 学习笔记之 curl 命令用法详解
[前言] 本文翻译和整理自 Linux-2.6.32 中和 curl 相关的 Manual Page 描述文档. 文档目的仅在提醒读者所遗忘的知识点,故在整理时削弱了阅读流畅性,适用于对 cu ...
- Python 字符串过滤
需求: str1 = " """<div class="m_wrap clearfix"><ul class=" ...
- Python 爬虫实例(15) 爬取 汽车之家(汽车授权经销商)
有人给我吹牛逼,说汽车之家反爬很厉害,我不服气,所以就爬取了一下这个网址. 本片博客的目的是重点的分析定向爬虫的过程,希望读者能学会爬虫的分析流程. 一:爬虫的目标: 打开汽车之家的链接:https: ...
- MySQL设置从库只读模式
常见现象 运维工作中会经常维护MySQL主从服务器,当然Slave我们只是用于读操作. 一般权限开通也只授权只读账号,但是有时候维护工作可能不是一个人在做,你不能保证其他同事都按照这个标准操作. 有同 ...
- 双系统(win8.1+ubuntu14.04)删除win下分区导致grub rescue解决方案
几个grub rescue下的命令的含义: set 设置环境变量 ls 查看设备 insmod 加载模块 root 指定用于启动系统的分区 prefix 设定grub启动路径 操作流程: 1. 先使 ...
- hadoop集群搭建实践
一.Linux配置1.设置hosts的ip(集群机器做同样操作)vi /etc/hosts192.168.91.129 master192.168.91.130 slave #互相ping通即可 pi ...
- iOS缓存-内存缓存
为了减少与服务器的连接沟通次数,提高应用程序的执行速度,使用了iOS的缓存机制 #import "YoungViewController.h" @interface YoungVi ...
- 基于Django的独立运行的python脚本开发
Django框架很方便,比如其方便的ORM,如果写基于Django的独立运行脚本,主要在脚本前面加上以下代码: import sys,os,django sys.path.append(os.path ...
- centos 7 忘记密码
修改rd.lvm.lv=cl/swap(我的是虚似机如果是实体机的话应该是ro_rd.lvm.lv=centos/swap)改成 rw init=/sysroot/bin/sh 注意上图rw init ...