• 13
  • 13
分享

1、selenium 工具介绍

什么是 selenium?

selenium 自动化测试浏览器,它主要是用于 Web 应用程序的自动化测试,但肯定不只局限于此,同时支持所有基于 web 的管理任务自动化。

selenium 的特点:

  • 开源,免费;

  • 多浏览器支持:FireFox、Chrome、IE、Opera;

  • 多平台支持:linux 、windows、MAC;

  • 多语言支持:java、python、ruby、php、C#、JavaScript;

  • 对 web 页面有良好的支持;

  • 简单(API 简单)、灵活(用开发语言驱动);

  • 支持分布式测试用例执行。

selenium 经历了两个版本,selenium 1.0 和 selenium 2.0 ,selenium 也不是简单一个工具,而是由几个工具组成,每个工具都有其特点和应用场景

selenium IDE

selenium IDE 是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。

那么什么情况下用到它呢?

快速的创建 bug 重现脚本,在测试人员的测试过程中,发现了 bug 之后可以通过 IDE 将重现的步骤录制下来,以帮助开发人员更容易的重现 bug。

IDE 录制的脚本可以可以转换成多种语言,从而帮助我们快速的开发脚本,关于这个功能后而用到时再详细介绍。

selenium Grid

Selenium Grid 是一种自动化的测试辅助工具,Grid 通过利用现有的计算机基础设施,能加快 Web-app的功能测试。利用 Grid,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。其特点为:

  • 并行执行;

  • 通过一个主机统一控制用例在不同环境、不同浏览器下运行;

  • 灵活添加变动测试机。

selenium RC

selenium RC 是 selenium 家族的核心工具,selenium RC 支持多种不同的语言编写自动化测试脚本,通过 selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的。

selenium RC 使用分 Client Libraries 和 selenium Server,Client Libraries 库主要主要用于编写测试脚本,用来控制 selenium Server 的库。Selenium Server 负责控制浏览器行为,总的来说,Selenium Server 主要包括 3 个部分:Launcher、Http Proxy、Core。其中 Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的。其实 Selenium Core

就是一堆 JS 函数的集合,就是通过这些 JS 函数,我们才可以实现用程序对浏览器进行操作。Launcher 用于启动浏览器,把 selnium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的Http Proxy。

selenium 2.0

搞清了 selenium 1.0 的家族关系,selenium 2.0 是把 WebDriver 加入到了这个家族中;简单用公式表示为:

selenium 2.0=selenium 1.0 + WebDriver

需要强调的是,在 selenium 2.0 中主推的是 WebDriver ,WebDriver 是 selenium RC 的替代品,因为 selenium 为了向下兼容性,所以 selenium RC 并没有彻底抛弃,如果你使用 selenium 开发一个新自动化测试项目,强列推荐使用 WebDriver 。那么 selenium RC 与 webdriver 主要有什么区别呢?

selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行selenese 命令(selenese 是 selenium 命令集合)。

WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver 针对各个浏览器而开发,取代了嵌入到被测 Web 应用中的 JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟用户输入。

selenium 与 WebDriver 原先属于两个不同的项目,WebDriver 的创建者 Simon Stewart 早在 2009 年八月的一份邮件中解释了项目合并的原因。

由于 selenium 基于 web 的自动化测试技术,我们的要操作的对象是页面,所以有必要对前端的技术和工具做一个简单的介绍。

HTML 简介

HTML(Hyper Text Markup Language)中文为超文本标记语言,HTML 是网页的基础,它并不是

一种编程语言,而是一种标记语言(一套标记标签),但我们可以在 HTML 标签中嵌入各种前端脚本语言,如VBScript、JavaScript 等。下面是一个简单的 HTML 页面。

<html> 与 </html> 之间的文本描述网页

<title> 与</title> 之间的内容显示在浏览器的标题栏

<body> 与 </body> 之间的文本是可见的页面内容

<h1> 与 </h1> 之间的文本被显示为正文,h1 为页面中的一号字体现在我们通过浏览器打开任意

一个页面,在页面上右键菜单选择“查看网页源代码”,在复杂的前端代码中你依然可以找到 HTML 的身影。

JavaScript简介

JavaScript 是一种由 Netscape 公司的 LiveScript 发展而来的前端脚本语言(脚本语言是

一个种轻量级的语言),是一种解释性语言(代码执行不需要预编译);被设计用来向 HTML 页面添加交互行为,通常被直接嵌入到 HTML 页面。


文章来源:百度文库

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   据报道,苹果周四成功说服美国一家上诉法院维持专利法院的判决。苹果原本有可能要向专利授权公司VirnetX支付5.02亿美元侵权赔偿,而这一最新判决有可能推翻此前的赔偿决定。  美国联邦巡回上诉法院确认了美国专利和商标局的裁定,认为VirnetX指控苹果侵犯的两项专利无效。  VirnetXCEO肯达尔·拉森在声明中表示,该公司对这项裁决感到失望,并考虑重新申请听证会,或者上诉到美国最高法院。  本案宣判后,VirnetX股价在周四纽交所常规交易中下跌超过14%。但在本案宣判前,该股早盘一度涨超55%,原因是该公司宣布将派发特别股息,并预计未来可能因为苹果案获益。  苹果发言人尚未对此置评。...
            0 0 737
            分享
          •        你实力超群又善于总结分享经验,那么欢迎您来51讲堂授业解惑。       讲堂主题:       1、自动化测试工具(jmeter, postman, soapUI,fiddler, charles, selenium,appium);       2、自动化测试框架模型(PO/关键字/行为驱动);       3、测试用例设计(接口测试用例设计,性能场景设计,这两个比较受欢迎);&...
            1 0 1960
            分享
          •  在做网站的测试时,抓包扫描必不可少,如何将测试的所有记录保存下载,待后续分析呢?先来看一个架构图:  图中的工具好像都认识,然而这些工具之间的关系是怎么样的?  我们在测试时,通常会开启一个 web 代理工具,比如 zap、burp 这些,然后设置浏览器代理为这些工具启动的代理服务,然后我们使用浏览器访问的所有网站流量都会经过这些代理工具,然后通过查看代理记录的数据包分析安全问题。  这个工具的作用与 zap、burp 类似,只不过是命令行版而非界面程序,它通用启动代理服务,浏览器设置代理之后,经过的所有流量可以进行记录保存为文件,如图:  打开文件就可以看到具体请求响应...
            0 0 267
            分享
          •   我们不应该仅仅局限于某一种工具,性能测试能使用的工具非常多,选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验,也算略有小成,任何性能测试(如压力测试、负载测试、疲劳强度测试等)都可以使用该工具。但我并不鼓励这样做,我们应该根据当前所处的情况,基于被测对象、时间及成本考虑,采用最合适的工具。闲话少谈,今天笔者要给大家分享的是用Jmeter来进行HTTP接口的压力测试。实际接口测试还可以使用Tsung、SoapUI等工具,但基于各方面考虑,最终采用了Jmeter。  Jmeter相对于Loadrunner来说,更轻,易于安装,如果对过程数据收集不多、测试场景...
            0 0 1189
            分享
          •   前言  在做web自动化的过程中,相信用到最多的浏览器就是chrome浏览器,那么在chrome中有许多关于selenium的配置内容,这个你知道吗?  单个浏览器调试  在编写自动化用例的过程中,经常会进行调式代码,正常情况下,当我们在写完用例,执行代码就会给我们重新打开一个浏览器,然后在进行一系列的操作。如果我们的需要调式的地方比较容易做到,这个方法就很容易,那如果我们需要调试的位置需要做很多前置操作,那么就浪费我们的时间。这个时候我们就可以通过打开浏览器调试功能,然后让浏览器直接在当前的页面进行debug。  打开浏览器调试需要进行以下操作:  1.将chrome浏览器安装地址配置到...
            14 14 2224
            分享
      • 51testing软件测试圈微信