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.线性测试 每个测试脚本相对独立,且不产生其他依赖与调用,其实就是单纯的来模拟用户完整的 操作场景.前一篇所写的测试脚本就属于线性测试. 优点:每个脚本完整且独立 缺点:测试用例的开发与维护成本高 ...
随机推荐
- STM8串口初始化寄存器配置
//库函数配置 UART1_DeInit(); UART1_Init((u32)1000000, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, \ UART1_PARI ...
- 关于Android NDK中调用第三方的动态库
因为最近在整合Android 上RTSP播放器的网络库,因需要调用自己编译的网络库,调用一直出现问题,开始时是直接在Android.mk 中加入LOCAL_SHARED_LIBRARIES := li ...
- wget for windows
那么,来尝试下wget for windows 吧. 什么是wget? wget是一个强力方便的命令行下的下载工具,可以通过HTTP和FTP协议(两种最广泛的互联网协议)从因特网中检索并获取文件. 此 ...
- IntelliJ IDEA设置代码括号对齐方式
IntelliJ IDEA设置代码括号对齐方式 IntelliJ IDEA默认的对齐方式如下:括号跟函数名在一行 想改为括号独自占一行,如下: 配置方式如下:File->Setting-> ...
- Shell脚本大量示例
Shell基础之控制流结构 一.控制结构 几乎所有的脚本里都有某种流控制结构,很少有例外.流控制是什么?假定有一个脚本,包含下列几个命令: #!/bin/sh # make a directory ...
- Java 里如何实现线程间通信
正常情况下,每个子线程完成各自的任务就可以结束了.不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了. 本文涉及到的知识点:thread.join(), object.w ...
- zabbix 对/etc/ssh/sshd_config文件的监控 但status为unknowen
原因为该文件没有被访问的权限: # ll /etc/ssh/sshd_config -rw------- root root Apr : /etc/ssh/sshd_config 授权后再看: [ro ...
- angular中的jqLite所包含的jquery API
Angular本身包含了一个叫做jqLite的可兼容性库. 使用过的angular.element()方法就返回一个jqLite对象, jqLite是jQuery库的子集,它 允许Angular以跨 ...
- AWS产品目录
计算 Amazon EC2:弹性虚拟机 AWS Batch:批处理计算 Amazon ECR:Docker容器管理 Amazon ECS:高度可扩展的快速容器管理服务 Amazon EKS:在AWS上 ...
- 【设计模式】装饰器模式与Java Servlet、Spring Session在其中的使用
简述 装饰器模式,可以通过装饰器类,通过依赖原实现的方式(不使用继承),达到扩展原实现的目的.UML图如下: ServletRequestWrapper于其中的使用 ServletRequestWra ...