java selenium教程之selenium详细介绍
作者:肖佳 发布时间:2023-07-30 13:53:52
Selenium 是目前用的最广泛的Web UI 自动化测试框架。 本系列文章,将深入简出来讲解selenium 的用法
阅读目录
selenium 的命名
selenium 的意思是 硒 (有点QTP 杀手的意思)
QTP mercury 是水银 硒可以对抗水银
QTP 目前的价格是 三个单机版 十万人民币左右, 越来越少的人用QTP了
什么是selenium
一套软件工具,用来支持不同的自动化测试方法
开源软件:可以根据需要来增加重构工具的某些功能
跨平台:linux , windows mac
核心功能就是可以在多个浏览器上进行自动化测试
支持多种编程语言
目前已经被google , 百度, 腾讯等公司广泛使用
能够实现类似商业工具的大部分功能,并且还实现了商业工具不能支持的功能
建议大家整体学习整套工具, 将来好选择适合自己测试目的的测试工具。
Selenium 的发展历史
2004年在ThoughtWorks 公司, 一个叫做Jason Huggins为了减少手工测试的工作, 自己写了一套Javascript的库, 这套库可以进行页面交互, 并且可以重复的在不同浏览器上进行重复的测试操作。
这套库后来变为了Selenium Core. 为Selenium Remote Control (RC) 和Selenium IDE 提供了坚实的核心基础能力
Selenium 的作用是划时代的,因为他允许你使用多种语言来控制浏览器。
浏览器的对JS的安全限制也对Selenium的发展带来了困扰,并且Web程序也越来越大,特性也越来越多,都对selenium的发展来说带来了不少困难
2006年Google 的工程师Simon Stewart开启了一个叫做WebDriver的项目, 此项目可以直接让测试工具使用浏览器和操作系统本身提供的方法, 借此来绕过JS环境的沙盒效应, WebDriver项目目标就是为了解决Selenium的痛处
2008年北京奥运年会, Selenium 和 WebDriver 这两个项目进行了合并, Selenium 2.0 出现了,也就是大家说的WebDriver
Selenium 的工具套件
selenium 2 (aka. Selenium Webdriver)提供了极佳的测试工具特性, 例如:关联的面向对象API
Selenium 1 (aka. Selenium RC or Remote Control) 支持更多的浏览器,支持更多的编程语言(Java, JavaScript, Ruby PHP)
Selenium IDE (集成开发环境) 是Firefox 的插件, 有图形界面来录制和回放脚本。 此插件只是用来做原型工具,不用希望你使用这个工具来运行所有的测试脚本
Selenium-grid 可以并行的在多个测试环境之下测试脚本,实现脚本的并发测试执行。 缩短大量测试脚本集合的执行时间
选择你的Selenium 工具
如果没有编程经验,建议选择Selenium IDE 来熟悉Selenium 的命令。 使用IDE以快速来创建简单的测试脚本
我们不建议你选择Selenium IDE 来执行自动化测试,
建议先熟悉:Selenium IDE
再进一步熟练使用Selenium-WebDriver API
WebDriver 支持的浏览器
IE6-10
FireFox大部分版本
Chrome
Safari
Opera
Andrioid 系统上的自带浏览器
IOS系统上自带浏览器
HtmlUnit的 * 面实现
Selenium 1和 WebDriver 的区别
WebDriver 是Selenium 1 的升级版本, 也可以理解为两个不同的产品
WebDriver 相比Selenium 1 来说可以更好地绕过JS的限制,API也更易于使用.
Selenium 1 比WebDriver 支持更多的浏览器
WebDriver 可以实现向下兼容Selenium 1 的脚本
猜你喜欢
- 1 线程池的优势总体来说,线程池有如下的优势:(1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。(2)提高响应速度。
- 1、继承Thread类方式这种方式适用于执行特定任务,并且需要获取处理后的数据的场景。举例:一个用于累加数组内数据的和的线程。public
- SpringCloud 整合ribbon的时候出现了这个问题java.lang.IllegalStateException: No inst
- 一、数组创建1.1 声明并赋值int[] a = {1,2,3};1.2 声明数组名开辟空间并且赋值int[] a;a = new int[
- 目录操作创建目录File类中有两个方法可以用来创建文件夹:mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败
- 目录Spring自动注入失败如何解决?回答注入你的bean使用@Configurable手动查找bean:不推荐Spring自动注入失败如何
- synchronized关键字,一般称之为”同步锁“,用它来修饰需要同步的方法和需要同步代码块,默认是当前对象作为锁的对象。同步锁锁的是同一
- Springboot 在普通类型注入Service或mapper最近遇到一个难题(大佬可能感觉这太简单了把),对于我这样的小白来说,确实有些
- 今天老师想让我帮忙把她们200多张寸照换成白底的,这些寸照里面多为蓝色底,红色底。用ps?不!用java!!对,我第一反应就是用java,到
- 首先,我们需要增加用户对该脚本的执行权限,即 String cmdstring = "chmod a+x test.sh
- 一、reservedcodecachesize参数介绍该参数是JvM虚拟机调优中调整内存大小的一个设置参数,值得大小设置直接影响到Code
- 利用Android的ApiDemos的Rotate3dAnimation实现了个图片3D旋转的动画,围绕Y轴进行旋转,还可以实现Z轴的缩放。
- 1.前言任何系统,我们不会傻傻的在每一个地方进行异常捕获和处理,整个系统一般我们会在一个的地方统一进行异常处理,spring boot全局异
- Object(四大方法):文章干货满满,耐性看完~~何为Object?首先先来看看官方对Object的介绍:在这里附上Java官方的查阅工具
- 一、引入pom<?xml version="1.0" encoding="UTF-8"?>
- 网上找了几个,写的都不太适合,有的写出来了,也没有给出参考的算法链接。这样就导致了如果产生错误我们无法排查(不懂原理怎么排查对吧)。如果在使
- 前言对于数组遍历,基本上每个开发者都写过,遍历本身没什么好说的,但是当我们在遍历的过程中,有一些复杂的业务逻辑时,将会发现代码的层级会逐渐加
- 关于idea2021最新激活教程,请点击此处,获取最新激活教程还有一种激活方法,点击此处获取吧 !下面看下IDEA 2021.2 启动报错问
- 问题描述:在用fabric集成后编译出现如下错误,Error:Cause: hostname in certificate didn'
- logback输出日志屏蔽quartz的debug等级日志在一个spring的老项目中,使用了logback来作为日志管理,logback.