实验:Selenium IDE->测试Agileone的公告管理
作者:reader1   类别:Web前端    日期:2018-01-18 16:03:13    阅读:949 次   消耗积分:0 分


实验简介


Selenium IDE是Selenium家庭中一个入门级的自动化测试工具,是基于Firefox浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供以后使用。由于Selenium IDE无法对其生成的脚本进行灵活的处理和控制,所以我们往往无法把Selenium IDE运用在实际项目中。但是通过对Selenium IDE的使用,可以帮助我们很好地完成如下三件事情,所以在Selenium系列工具里面,也算是一个比较重要的工具:


(1) 提供录制回放的功能,可以帮助我们快速地进行测试的可行性分析。

(2) 能够将这些录制出来的测试脚本导出为Java或Python的自动化测试代码。

(3) 提供一种很好的基于关键字驱动的自动化测试脚本开发的体验。

(4) 帮助我们对页面元素进行精确地识别和定位,而不用我们再人为地去获取元素的识别属性。

 

实验目的


(1) 理解Selenium IDE基于特征识别的自动化测试原理。

(2) 熟练使用Selenium IDE进行简单的自动化测试脚本的开发。

(3) 熟练使用Selenium IDE提供的各项功能帮助我们提升效率。

(4) 理解Selenium IDE的优势与不足,便于在项目中灵活使用。

 

实验流程


1. 在Firefox中安装Selenium IDE


首先,我们可以去http://www.seleniumhq.org/download/ 网站下载Selenium IDE的Firefox插件,事实上,有关于Selenium常用的组件,都可以在此网站上进行下载。但是访问国外的网站经常容易出现无法访问的情况,所以如果无法访问,则直接百度下载即可。目前最新版本是2.9.1,其插件的文件名通常为:“selenium_ide-2.9.1-fx.xpi”,下载完成后,打开Firefox浏览器,将该xpi文件拖入到Fireofx窗口中即可,如下图:


图片17.png 

 

直接点击“立刻安装”按钮,并按提示重启Firefox即可完成安装。我们会在Firefox工具栏下找到Selenium IDE的启动按钮,启动后的主界面如下图:


图片18.png

 

从上图我们可以看到,Selenium IDE的主窗口可以分为以下5个部分:


(1) 菜单栏:主要包括测试脚本的打开,保存,导出,运行,选项设置等。

(2) 工具栏:主要包括测试脚本的执行,暂停,脚本录制按钮等。

(3) 测试用例列表(左侧):可在此新增或删除测试用例。

(4) 测试脚本管理(右侧):所有的测试脚本的核心操作在此列出。Selenium IDE默认使用类似于关键字驱动的方式实现测试脚本,所以其脚本是非常直观的,可读性也很强。

(5) 日志栏:主要用于测试脚本运行过程的日志信息查看,包括错误消息等。

 

2. 利用Selenium IDE登录Agileone


对Selenium的基本操作有一个初步的了解后,我们现在来利用Selenium IDE录制一个简单的操作,并完成测试断言。


(1) 先确保右上侧的红色录制按钮被按下(默认是按下状态)。

(2) 将窗口切换到Firefox主窗口,按照正常操作流程输入Agileone的首页地址,加载完成后输入用户名和密码,点击登录按钮。

(3) 当上述操作完成后,切换到Selenium IDE窗口,可以看到录制的脚本如下:


图片19.png

 

(4) 我们可以看到,Selenium IDE将测试脚本的操作分为三个部分:Command,Target和Value。对于Open或者Click之类的操作,只需要指定其Target即操作的目标对象即可,而对于文本框一类的需要输入内容的元素,则需要额外在Value中指定其输入的内容。


(5) 点击工具栏左侧的Play current test case按钮,即可运行该脚本。此时脚本运行如下:


图片20.png

 

(6) 当运行上述脚本时,我们可以看到在Log窗口中出现了一个错误:“[error] Element id=username not found”,错误消息告诉我们一个id属性为username的元素没有找到。究其原因,是因为我们上一次录制脚本时已经登录到Agileone,所以当再次打开Agileone首页时,会直接进入到Agileone的主页面,而本页面中不存在id=username的元素。我们当然可以手工地先将当前登录的账户注销后再次运行该脚本即可。


(7) 另外一种相对更好的解决方案是,在测试脚本中点击Agileone首页的“注销”超链接。这样每一次运行登录后,都会完成注销,便不会出现打不开登录页面的情况。除了再次录制一下“注销”操作外,我们还可以手工添加此操作。在现存脚本的最后(即:clickAndWait的下一行),右键选择“Insert New Command”添加一行新的命令,并用鼠标选中此行,在Command中输入“click”命令,在Target中点击按钮“Select”,将鼠标定位到Agileone页面中的“注销”超链接处并点击该元素,我们可以看到,Selenium IDE会在鼠标经过的所有元素上用虚线将该元素框住,表示可以正常识别到该元素。最后生成的脚本如下:


图片21.png

 

(8) 手工注销Agileone后,并再次运行该脚本,整个过程非常流畅地完成了自动化的登录和注销。

 

3. 添加断言


我们需要的,不单纯只是自动化的完成我们指定的操作,还需要达到测试的目的。所以为自动化测试脚本添加断言是非常重要的一环。比如针对上述的登录和注销的操作,我们又该如何为其添加断言呢?


(1) 为登录操作添加断言:断言的核心就是找到本次操作完成后的关键特性。在Selenium IDE中,为断言提供了非常多的Command操作,比如成功登录Agileone后,会进入其主页面,那么只要我们找到一个该页面中存在的任意元素,而在登录页面不存在的元素,便可以实现断言,其断言命令为:“assertElementPresent”。为此,我们只需要在登录按钮点击后添加一行新的断言命令即可。比如此处我们断言的特征就是“个人设定”这个元素出现:


图片22.png

 

(2) 为注销操作添加断言:当我们注销了以后,自然会回到登录页面,所以此时我们可以用同样的方式,去断言一个登录页面上的元素是否存在。比如assertElementPresent id=username。


(3) 在Selenium IDE中,所有的断言命令均以“assert”开头,我们可以在Command中输入assert并从其下拉列表中选择合适的断言即可。我们可以根据其断言命令的名字清楚地知道该断言的作用。

 

4. 格式化Selenium IDE脚本


默认情况下,Selenium IDE会将其测试脚本保存为一个标准的HTML文件,并且以HTML表格的形式存储这些操作命令。只需要选中该测试用例,并点击“文件”菜单下的“Save Test Case”,便可将该脚本保存起来,以供下次使用。我们不妨用浏览器打开该测试用例保存的HTML文件,看到的结果如下:


图片23.png 


版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/32
上一篇:工具:利用SoupUI实现协议级接口测试
下一篇:实验:对象识别原理->JavaScript操作Web窗体对象
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}