参考文章地址
Selenium不同于一般的测试工具。一般的脚本测试工具录制脚本,实际上都是通过拦截浏览器收发的http请求来实现的。事实上并没有办法录制用户对html页面的操作。
当然,对那些执行压力测试的工具来说,这类模拟已经足够。
Selenium的脚本录制工具是通过监听用户对html页面的操作来录制脚本的。Selenium是真正能够监听用户对html页面的操作的录制工具。Selenium完全了解用户操作的html页面。
Selenium可以生成7种语言的脚本:html,java,C#,ruby,python,perl,php。
你可以直接在SeleniumIDE中执行html格式的脚本。你机器上的FireFox将会执行Selenium脚本。
Selenium生成的Html格式的脚本,是Selenium使用Html的语言元素自己开发的一套脚本语言。
如果你要执行其他语言格式的Selenium脚本,那么,你需要使用Selenium服务器。6种语言的使用方法都是一样的。下面,我以Java为例进行说明。
Java执行Selenium测试
首先,需要启动Selenium服务器,然后就可以执行java版本的Selenium测试。
Selenium服务器将会解释Java发来的Selenium脚本,并在Selenium服务器本地打开浏览器执行客户端发来的Selenium脚本,并把结果返回给Java客户端。
其他语言执行Selenium测试也是如此工作的。
Java或者其他客户端,一般作为单元测试程序被执行。它们通过网络与一个或多个Selenium服务器进行通讯。
请注意,浏览器是在服务器端打开的,而不是Java或者其他客户端打开的。
我们可以把客户端看作是发号施令的主人,Selenium服务器是执行Selenium测试的奴隶。
Selenium执行内部原理
SeleniumServer通过网络与Selenium客户端通讯,接收Selenium测试指令。
SeleniumServer通过向浏览器发出JavaScript调用实现对Html页面的全面追踪,并通过网络把执行结果返回给Selenium客户端。
Selenium客户端一般使用单元测试技术实现,通过判断返回的结果与预期是否一致来决定程序是否运行正确。
Selenium是通过javascript来实现对Html页面的操作的。它提供了丰富的指定Html页面元素和操作页面元素的方法。
Selenium打开浏览器时,把自己的JavaScript文件嵌入网页中。然后Selenium的网页通过frame嵌入目标网页。这样,就可以使用Selenium的JavaScript对象来控制目标网页。
Selenium的JavaScript对象中,最重要的就是Selenium对象。它的作用是代表Java中的Selenium接口执行一系列的命令,让浏览器执行。
其中Selenium Core是被Selenium Server嵌入到浏览器页面中的。其实Selenium Core就是一堆JS 函数的集合,
就是通过这些JS 函数,我们才可以实现用程序对浏览器进行操作。
以下是官方的对上图的解释:
- 大小: 82.2 KB
- 大小: 90.6 KB
分享到:
相关推荐
总的来说,Selenium WebDriver 的工作原理是通过标准化的协议和驱动程序,实现了测试代码对浏览器的直接控制,提供了丰富的功能和强大的兼容性,使得Web应用的自动化测试变得简单而高效。掌握这些原理,可以帮助我们...
本文来自于IBM,本文简单介绍了SeleniumRC的组成和SeleniumRC的有优缺点,希望对您的学习有帮助。...下图所示为SeleniumRC的工作原理:(1)SeleniumServerSeleniumServer负责控制浏览器行为,总的来说,SeleniumServ
其工作原理主要涉及自动化测试代码、浏览器驱动和浏览器这三个关键组件。我们可以将这个过程类比为出租车服务,其中工程师编写的自动化测试代码扮演乘客角色,浏览器驱动相当于出租车司机,而浏览器则类似于出租车。...
#### Selenium工作原理 Selenium通过模拟真实用户的操作来完成测试任务,其核心组件包括Selenium Core(现在称为WebDriver)、Selenium Grid等。Selenium Core负责与Web浏览器交互,发送指令给浏览器执行特定操作。...
在这个"**selenium最新源码java版**"压缩包中,包含的是Selenium针对Java的源代码,对于想要深入理解Selenium工作原理、进行二次开发或者优化自动化测试脚本的开发者来说,这些源码是宝贵的资源。 首先,我们需要...
总的来说,这个压缩包对于想要深入了解Selenium工作原理,或者进行定制化开发的Java开发者来说是一份宝贵的资源。通过研究源码,我们可以提升自己的技能,更好地利用Selenium进行Web应用的自动化测试。
尽管现在已被 WebDriver 取代,但其概念仍对理解 Selenium 工作原理有帮助。 3. **Selenium Grid**:用于分布式测试,它可以将测试任务分发到多台机器上并行执行,大大提高了测试效率。这对于大规模的 web 应用测试...
#### 四、Selenium 工作原理 - **核心概念**: - **WebDriver**:直接与浏览器交互的接口,提供了更高级的 API。 - **Selenium RC**:早期版本中使用的一种方式,通过 HTTP 请求与服务器通信来控制浏览器。 - **...
#### 五、Selenium 工作原理简述 Selenium 通过与浏览器的交互来驱动浏览器执行测试脚本。具体而言,Selenium 服务器(也称为 Selenium Grid 或 Selenium RC)接收来自客户端(通常是通过编程语言编写的测试脚本)...
#### Selenium工作原理 Selenium的工作流程大致如下: 1. **发送命令**:测试脚本向Selenium RC服务器发送指令,指示浏览器执行特定操作。 2. **执行操作**:服务器接收到指令后,在目标浏览器上执行相应的操作。 ...
Selenium 是一个强大的开源Web功能测试工具集合,由ThoughtWorks公司开发。它的核心基于JavaScript,通过JavaScript单元测试工具JSUnit,模拟真实的用户交互,如页面浏览、点击链接、填写表单、触发事件等,同时能对...
### Selenium 知识点详解 #### 一、Selenium 概述 Selenium 是一个用于自动化 Web 应用程序测试的...通过本文的介绍,希望能够帮助大家更好地理解 Selenium 的基本原理及使用方法,进一步提升软件测试的质量和效率。
6.Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1) 7.Selenium私房菜系列7 -- 深入了解Selenium RC工作原理(2) 8.Selenium私房菜系列8 -- 玩转Selenium Server 9.Selenium私房菜系列9 -- Selenium RC服务器...
深入研究 Selenium 4.5.0 的源码,不仅有助于理解自动化测试的基本原理,还能帮助开发者更好地利用 Selenium 的功能,解决实际测试中的问题,甚至为框架贡献自己的代码。通过分析源码,我们可以学习到软件设计模式、...
JAR 文件,对于开发者来说非常有用,他们可以直接查看源代码来理解内部工作原理。 5. **selenium-remote-driver-4.0.0-alpha-6.jar**:这个库负责与远程服务器通信,使得 Selenium 可以在远程机器上执行测试。 6. ...
尽管RC已不再是最新的技术,但了解其工作原理对理解Selenium的发展历程和现在的WebDriver模式是有帮助的。在实际项目中,现代的测试框架通常会选择Selenium WebDriver,因为它更直接、更高效,而且支持最新的浏览器...
最后,了解Selenium的工作原理,尤其是其与浏览器驱动的交互方式,能够帮助我们更好地构建和调试测试脚本。 总而言之,本系列教程旨在为Selenium新手提供一个全面的入门指南,帮助读者快速了解Selenium的核心概念,...
【selenium-java-2.42.2-srcs.jar】包含了Selenium Java客户端库的源代码,这对于开发者来说非常有用,可以查看源码理解其工作原理,或者进行自定义扩展。 【jsoup-1.10.1.jar】是一个Java库,用于处理HTML文档,...
Selenium 是一个强大的开源自动化测试框架,用于网页应用。它支持多种编程语言,如Java、Python、C#等,...通过深入理解Selenium的原理和使用技巧,我们可以构建稳定、高效的自动化测试框架,确保Web应用的质量和性能。