【转】Selenium IDE工具

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的最顶部,最常用的菜单包括:File,Edit和Options菜单。

文件菜单

    

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

Tests保存为HTML格式

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

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

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

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

.cs (C# source code)

.java (Java source code)

.py (Python source code)

.rb (Ruby source code)

Edit菜单选项

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

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

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

命令会被黑色字体标记

注释会被紫色字体标记

Options 菜单

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

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

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

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

HTML是默认格式

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

Selenium IDE Options对话框

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


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属性作为第二选择,依次类推直到找到可用的元素定位选择器。

Base URL 栏

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”页面,如下:



Toolbar



通过这个控件控制脚本回放速度


开始/结束录制会话,开启后会将与浏览器的所有操作录制成Selenese命令,并写入到Editor面板中。


执行整个测试套件,将会顺序的执行测试面板中所有的测试案例。


执行当前测试案例,仅会执行当前测试面板中被选中的测试脚本。


暂停/恢复当前正在回放的测试脚本。


单步调试,可以逐步执行测试脚本的命令,用于调试使用。


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

测试用例面板


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

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

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

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

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


Editor


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

Table

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

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

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

    

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

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

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

Source 视图

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

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

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信息可以通过类型进行过滤,比如选择“Error”选项时,log面板中只会显示error相关的信息。

Reference 窗口(灰常有用)

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

UI-Element窗口

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

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

Rollup窗口

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

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

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

汇总


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元素。


本文来源网站,乃系个人学习使用,转发自:http://blog.51cto.com/shareku/2065042

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容

  • 昨天突然想学学 Selenium,就上网查了一些介绍,发现一些教程基本都是比较老版本的了,使用起来略有不便,所以今...
    顾顾314阅读 16,119评论 3 15
  • 洞见SELENIUM自动化测试 写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出...
    厲铆兄阅读 6,724评论 3 47
  • 这篇文章在介绍官网的同时使用了比较多的脚本示例,示例里遇到的问题有部分在本篇文章进行了解释,还有一篇文章专门记录了...
    顾顾314阅读 12,918评论 3 32
  • selenium IDE 是selenium 家族的中的一员,它是嵌入到firefox 浏览器的一个插件,这里之所...
    qianyewhy阅读 654评论 0 1
  • ​集体智慧 时间:2018年6月19号上午11点到11点半 参加人;安娜、丽梅、娟,齐文 主题:如何给孩子定规则,...
    齐文系统排列阅读 363评论 0 2