Selenium IDE简介

    Selenium IDE(Integrated Development Environment),是Selenium工具套件中最简单的工具,它可以快速的通过录制回放功能创建测试脚本,这种特性类似于QTP,而且它的安装和使用都非常的简单。

    由于Selenium IDE功能简单,适用范围局限,很多情况下都被当做原型工具使用,而不会用作开发和维护复杂测试场景的解决方案。

    虽然学习Selenium IDE不需要什么其他知识基础,但是至少你需要熟悉HTML,Javascript,和DOM(Document Object Model),通过这些知识可以更多的发挥该工具(Selenium IDE)的潜能。比如当我们进入关于Selenese命令“runScript”阶段学习时,就需要使用到javascript知识。

    当使用Selenium IDE创建测试脚本时,Selenium IDE支持命令自动完成模式,这个特性主要是为了两个目的:    

    • 帮助测试人员更快的完成命令输入

    • 限制用户输入无效的Selenese命令


Selenium IDE特性

    ide_-_labelled_parts.png

  菜单栏

    菜单栏位于IDE的最顶部,最常用的菜单包括:File,Edit和Options菜单。

  文件菜单

    

    • 文件菜单包含创建,打开,保存,关闭测试相关选项

    • Tests保存为HTML格式

    • 这里有最有用的选项“Export”,它允许将Selenese脚本保存为支持Selenium RC 和 Selenium WebDriver支持的测试脚本。

    • “Export Test Case As...”,可以到处当前的脚本。

    • “Export Test Suite As...”,当初当前测试套件所有脚本。


    file_menu_b.png


  • 需要注意的是,自从Selenium IDE V1.9.1,测试脚本只能保存到如下格式的文件中。

  • .cs (C# source code)

  • .java (Java source code)

  • .py (Python source code)

  • .rb (Ruby source code)

    html_to_java_conversion.png


   Edit菜单选项

    • 它包含常用的选项: Undo, Redo, Cut, Copy, Paste, Delete, and Select All.

    • 这里有两个最重要的选项: "Insert New Command" 和 "Insert New Comment".        

    edit_menu_-_most_impt.png

    • 最新插入的命令或注释会放置在当前选择命令行的上方

      insertion_-_before_and_after.png


    • 命令会被黑色字体标记

    • 注释会被紫色字体标记

      command_and_comment_color.png


   Options 菜单

    Options中提供给用户扩展接口,以及各种各样的Selenium IDE相关配置。

    我们先看下Options和 “Clipboard Format”选项:

    clipboard_format_menu_list_complete.png

    • Clipboard Format选项允许从IDE命令行编辑器复制命令并粘贴成为指定的代码片段

    • 粘贴成为目标代码片段格式取决于在此所选择的格式

    • HTML是默认格式

    比如,当你选择的代码格式为“Java/JUnit 4/WebDriver”时,每个从Selenium IDE中复制的命令行会被粘贴成为java code.

    clipboard_format_-_copy_paste_illustration.png

    Selenium IDE Options对话框

    在菜单栏上点击“Options > Options...”启动Options对话框,Options中包含很多配置信息,我们将会选择比较重要的进行解释。

    options_dialog_with_lables.png

        

    • Default Timeout Value.这个时间指的是等待某个元素在页面中出现 或 等待某元素变为可访问状态的等待时间,超时后会抛出相应的错误信息,这里默认超时时间是30000ms

    • Selenium IDE extensions.在这里可以对Selenium IDE特性进行扩展,可以通过访问“http://addons.mozilla.org/en-US/firefox/”,并使用关键字“Selenium”搜索相关可用的扩展。

    • Remember base URL. 在此可以设置使Selenium IDE每次启动时记住上次使用的Base Url,如果反选这个选项的话,IDE每次启动时,将会保持Base Url空白。

    • Autostart record. 选择该选项,每次重启Selenium IDE时,都会默认开启录制状态。

    • Locator builders. 在这里可以指定录制脚本时使用locators的顺序,locators就是元素定位选择器,在如下配置的情况下,当你点击一个带有ID的元素时,IDE会优先使用id locator作为定位元素的选择器,如果目标元素不存在ID时,Selenium会寻找name属性作为第二选择,依次类推直到找到可用的元素定位选择器。

      locator_builders(1).png


        Base URL 栏

        BaseURL.png

    • Base URL有一个下拉菜单列表,它会记录所有先前访问的历史。

    • 通过Selenese命令“open”,可以将浏览器导航到指定的url所指页面。

    • 在本教程中我们会使用“http://newtours.demoaut.com”作为Base URL,这是HP为用于基于测试目的维护的web系统,这个web系统中包含所有本教程需要使用到的页面元素。

    • 使用Base URL时,对于访问基于相对路径的页面时非常有用,比如这里指定Base URL的值为“http://newtours.demoaut.com”,可以使用Selenese “open”命令,并指定Target值为“sign-up”,Selenium IDE将会直接将浏览器导航到“sign-up”页面,如下:

    BaseURLTarget.png

    Toolbar

  Introduction to Selenium IDE通过这个控件控制脚本回放速度
Introduction to Selenium IDE开始/结束录制会话,开启后会将与浏览器的所有操作录制成Selenese命令,并写入到Editor面板中。
Introduction to Selenium IDE执行整个测试套件,将会顺序的执行测试面板中所有的测试案例。
Introduction to Selenium IDE执行当前测试案例,仅会执行当前测试面板中被选中的测试脚本。
Introduction to Selenium IDE暂停/恢复当前正在回放的测试脚本。
Introduction to Selenium IDE单步调试,可以逐步执行测试脚本的命令,用于调试使用。
Introduction to Selenium IDE

应用汇总策略,通过rollup关键字将多个命令合并为一个,需要用户自定义扩展。

    测试用例面板


    test_case_pane_-_final.png

    • 同一时刻,可以在测试面板中打开多个测试脚本。

    • 当打开的目标是一个test suite时,测试面板会加载当前测试套件下所有测试脚本列表。

    • 测试用例名称标注加粗字样的为当前选中的测试脚本。

    • 回放之后,每个测试脚本名称会有字体背景着色,表示执行成功或失败,绿色表示“成功”,红色表示“失败”。

    • 测试用例面板底部显示的是运行测试的总数及失败的个数。

   

    Editor

    Editor中包含两个视图窗口:Table View 和 Source View.


    Table

    

    • Table视图在大多数情况下是使用最频繁的。

    • 可以在这里创建和修改Selenese命令。

    • 脚本回放之后,每个执行步骤都会被着色。


    Editor.png

    

    • 创建测试步骤,可以在“Command”文本框中输入命令名称

    • 在键入命令时,文本框下拉列表会显示所有可以匹配到的命令集合。

    • Target参数通常是一个元素定位器,或者作为参数值等,而Value通常会是参数变量名,输入数据等。

    TableEditor.png

    

    Source 视图

    

    • source视图通过HTML格式展示测试步骤。

    • 可以在此视图中创建、编辑Selenese命令。

    editor_source_-_final.png

    Log 面板

    log面板会实时显示测试执行消息,实时更新日志并通知Selenium正在做的事情。

    Logs被归类为4中类别

    Debug - 默认情况下,debug消息不会被显示,这些debug信息主要是涉及到Selenium运行时使用到的技术相关信息,比如,加载了一个特定的模块,一个特定的函数被调用过,加载了一个外部js文件等等。

    Info - info消息会告诉使用者Selenium IDE都执行了哪些Selenese命令。

    Warn - 某些特殊情况下,使用Selenese不当或环境等某种原因,会提示Warn消息。

    Error - 当Selenese命令执行失败时,会有error消息,比如不满足“verify”or "assert" 相关命令的条件时,也会有Error消息产生。

    

    

Log_pane_-_types_of_logs.png

    Log信息可以通过类型进行过滤,比如选择“Error”选项时,log面板中只会显示error相关的信息。

    ErrorLog.png

    

    Reference 窗口(灰常有用)

    Reference窗口中显示了当前选中的Selenese命令相关介绍,同时也对当前command的locator和value进行描述。

    complete.png

    UI-Element窗口

    UI-Element对于selenium用户来说,相比较而言是较高级的话题,它使用JSON(Javascript Object Notation)来定义页面、页面元素的映射结构,我们可以在Selenium IDE中“Help”选项下找到“UI Element Documentation”,这里包含UI-Element更多详细的内容。

    Help.png

    

    如下是一个使用UI-Element的一个例子。

    ide_screenshot.png

    


    Rollup窗口

    Rollup允许将一组Selenese命令合并到一个步骤中,一组selenese命令称为“rollup”,它严重的依赖于javascrip及“UI-Element”概念,类似于编程语言中的function。

    Rollup是可以重用的,一个“rollup”可以在测试脚本中多次使用,由于“rollup”是一系列命令的集合,所以它可以缩减测试脚本篇幅。

    rollup_condensed.png

    如下展示了“rollup”窗口内容

    rollup.png


    汇总

    

    • Selenium IDE是整个套件里最简单的。

    • 仅仅被用作一个原型工具

    • 需要JS和HTML的知识。Rollup是一些可重用的命令集合。Locators是你告诉IDE怎么找到元素的描述。

    • Firebug是获取locator值的工具。

    • 菜单栏用来创建,修改,导出RC,WebDriver可以识别的格式的测试用例。

    • Selense命令的默认格式是HTML。

    • 选项菜单提供了关于IDE更多配置。

    • Base URL基址在访问相对地址比较有用。

    • 测试用例面板显示打开的case和关于测试结果的汇总。

    • Editor编辑器提供了修改脚本的入口

    • 表格试图以表格形式等你键入Command,target,value。而代码视图用HTML来显示你的脚本。

    • 日志和参考页面提供了一些执行case可能需要的信息。

    • UI-Element和Rollup是给比较熟悉Selenium工具的用户使用的。需要相当的JS编程经验。

    • UI-Element允许我们使用json来匹配UI元素。


              

   点击链接加入群【悦分享测试联盟】:https://jq.qq.com/?_wv=1027&k=5DiePik