`

Selenium工作原理

阅读更多
参考文章地址

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原理介绍

      关于Selenium WebDriver工作原理的介绍,原理相关描述

      Selenium原理探秘

      本文来自于IBM,本文简单介绍了SeleniumRC的组成和SeleniumRC的有优缺点,希望对您的学习有帮助。...下图所示为SeleniumRC的工作原理:(1)SeleniumServerSeleniumServer负责控制浏览器行为,总的来说,SeleniumServ

      Selenium WebDriver的工作原理.docx

      在WebDriver中也有类似的三个角色: 工程师写的自动化测试代码: 自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动) 浏览器的驱动: 它来解析这些自动化测试的代码,解析后把它们发送给浏览器 ...

      Testing_with_selenium

      selenium框架介绍,selenium工作原理,流程

      Selenium私房菜(新手入门教程)1

      6.Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1) 7.Selenium私房菜系列7 -- 深入了解Selenium RC工作原理(2) 8.Selenium私房菜系列8 -- 玩转Selenium Server 9.Selenium私房菜系列9 -- Selenium RC服务器...

      Selenium介绍及原理解析.docx

      Selenium是ThoughtWorks公司的一个强大的开源Web功能测试工具系列,采用Javascript来管理整个测试过程,包括读入测试套 件、执行测试和记录测试结果。它采用Javascript单元测试工具JSUnit为核心,模拟真实用户操作,...

      Selenium Grid的原理.docx

      Selenium Grid在前面介绍Selenium的时候说过它有三大组件,Selenium Grid就是其中之一而作用就是分布式执行测试。讲分布式之前还是要说说UI自动化的优势来突出Selenium Grid,最简单的两点解决重复执行测试、解决多...

      selenium自动化测试工具介绍

      介绍了selenium的基本使用和工作原理。相对来说selenium还是相对比较轻量级的工具,本身支持的功能不多,但是好处在于易扩展,容易整合,最大的特色是跨操作系统和跨浏览器平台,还可以支持flex测试

      selenium2初学者快速入门(Java)

      本文从初学者的角度对自动化测试工具 Selenium 2(即 WebDriver)进行全面阐述,重点 介绍在非测试框架下使用 Selenium 进行自动化测试,因为只有掌握 Selenium 的自动化测试 原理,以后在各种测试框架下才能灵活...

      Selenium 中文文档

      selenium 中文文档 译者:fool2fish 来源:selenium-doc 这里主要集中了 Selenium 官网的所有文档,和项目 Wiki 中... 希望这些文档能帮助大家更好的了解 Selenium 的工作原理,而不仅仅是会使用那些客户端驱动的 API.

      自动化功能测试 selenium

      selenium测试工具的基本原理和方法 selenium IDE测试报告

      selenium实验报告.docx

      中北大学软件学院 实验报告 专 业:________________...实验原理或流程图 5.实验过程或源代码 6.实验结论及心得 selenium实验报告全文共3页,当前为第3页。 selenium实验报告全文共3页,当前为第3页。 selenium实验报告

      selenium 详解

      selenium 详解,介绍了selenium 1 及webserver的实现原理。

      selenium2初学者快速入门(Java).docx

      本文从初学者的角度对自动化测试工具 Selenium 2(即 WebDriver)进行全面阐述,重点 介绍在非测试框架下使用 Selenium 进行自动化测试,因为只有掌握 Selenium 的自动化测试 原理,以后在各种测试框架下才能灵活...

      web driver 工作原理

      绘制了webdriver 和 浏览器、selenium命令之间是如何进行工作的

      selenium 入门教程

      1.selenium简介 2.xpath使用 3.selenium api参考手册 4.selenium IDE 使用 5.selenium RC 6.selenium RC工作原理 7.selenium server

      selenium篇之滑动验证码.docx

      它的原理很简单,首先生成一张图片,然后随机挖去一块,在页面展示被挖去部分的图片,再通过js获取用户滑动距离,以及坐标等信息到后台进行校验。只要用户移动的距离符合,以及移动的轨迹行为检测通过即可视为验证...

      Selenium私房菜

      介绍Selenium的基本工作原理及使用,WEB测试入门宝典,嘿嘿:>

      Selenium 4.0 IDE 自动化测试实战

      框架原理。 此外,本课程重点介绍了4.0.0a6版本下的Selenium IDE的应用。包括: Selenium IDE的环境搭建和准备。 界面测试与关键节点介绍。 Command Line模式运行IDE脚本,以及在不同的命令行参数下的测试介绍。 ...

      软件自动化测试Selenium.txt

      第11周、搭建框架二(数据驱动).rar 第5周、SELENIUM2常用类介绍.rar 第13周、搭建框架四(整合框架).rar 第9周、框架思想介绍.rar 第3周、元素定位方法介绍.rar ... 第1周、SELENIUM2的原理介绍及环境搭建.rar

    Global site tag (gtag.js) - Google Analytics