【原创】Selenium学习系列之(一)(二)—Selenium简介,环境搭建及使用

来源:互联网 发布:大数据平台对比分析 编辑:程序博客网 时间:2024/06/06 02:16

因为之前的工作经历中进行过selenium自动化测试,而且selenium是一个开源并且容易上手的工具。
我将从零起步,一边重新学习一边分享selenium系列,欢迎大家一同切磋。

——正文—–

Selenium简介

Selenium是ThoughtWorks专门为web应用程序 编写的一个验收测试工具,支持自动录制动作和自动生产不同语言的测试脚本。Selenium 具有如下优点:

  • 是 一个强大的基于浏览器的开源自动化测试工具,它通常用来编写 Web 应用的自动化测试。
  • 可直接运行在浏览器中,像真正的用户操作一样。
  • 可用来进行功能测试 和 浏览器兼容性测试。

Selenium的三大组件

  • FireFox
  • FireBug
  • Selenium IDE

SeleniumIDE 是一个Firefox插件,可以录制用户的基本操作,生成测试用例。随后可以运行这些测试用例在浏览器里回放,可将测试用例转换为其他语言的自动化脚本。Firebug也是Firefox的一个插件,可以用来辅助定位元素,调试脚本。光说不练假把式,那么下一期,我们讲如何搭建环境和实际操作。

 

 

(二)

 

Hi 大家好,我又来啦。

上次写完文章【原创】Selenium学习系列之—初用SeleniumIDE后,有可爱的同事去实践了,并且在过程中遇到了一些问题。通过解答他们的问题,我才意识到,第一篇写的有点突兀和笼统,对于初学的人来说,安装和使用selenium可能会有疑问,因此这篇是对上一篇的补充,从安装到使用一步步的详细说明和附图。

step1.打开火狐浏览器,切换到 【Add-Ons】页面,搜索条件输入 【selenium】进行搜索.

注意我们要安装的是【seleniumIDE】,而不是【seleniumIDE xxx】,前者是seleniumIDE集成工具,而后者是一些业务爱好者在使用时开发的一些seleniumIDE的小插件。点击【seleniumIDE】后面的【Add To Firefox】按钮进行安装.

SearchIDE

step2.安装完成后,可以在【My Add-ons】查看到,selenium安装成功.在点开菜单栏的【工具】选项,可以看到有selenium选项.

安装成功后

工具

step3.打开selenium 看一眼它的真容吧。 在这个页面我们可以选择录制testcase,或者是回放testcase(当然前提是你要先有一个已经完成的testcase)。

SeleniumImg

step4:录制testcase。

a.打开seleniumIDE

b.点选录制按钮(上图中右上角的红色圆点)

c.打开火狐Firefox,打开要访问的网页,输入用户名和密码,然后点选登录按钮

d.再次点击录制按钮结束录制

下图是我已经录制好的Login Eppic的testcase,是不是很简单明了。

LoginTestCase

step5:接下来,我们手动一步步讲录制完的case回放一下.

step5.1:click 第一条命令,打开首页。

‘open’ 命令的用法如下

open(url)

Arguments:
  • url – the URL to open; may be relative or absolute

下图中打开 Base URL+Target 组成的地址,即http://10.237.89.171:54131/ecc/siteLogout.eppic

 

OpenPage

step5.2:click第二条命令,输入用户名.

‘Type’命令用法如下:

type(locator, value)

Arguments:
  • locator – an element locator
  • value – the value to type

Sets the value of an input field, as though you typed it in.

下图中即在 ‘name=login’的 输入框 输入值‘BIKARD’.

 

EntryUserName

step5.3: 同上, click第三条命令,输入password的值.

EntryPWD

step5.4:Click 第四条命令,登录成功,进入首页.

clickAndWait命令的使用方法如下:

clickAndWait(locator)
Generated from click(locator)
Arguments:
  • locator – an element locator

Clicks on a link, button, checkbox or radio button. If the click action causes a new page to load (like a link usually does), call waitForPageToLoad.

AfterClick

至此,一个简单的login testcase录制并回放成功了。有的同学可能会讲,还得手动一步步去点这么繁琐,不能自动回放吗,答案是必须能啊,点选下面这个按钮就会自动回放了。

裁剪

需要说明的是,虽然selenium可以录制操作并生成testcase,但是有些操作它可能录制不到(比如一些拖拽动作),由于缺少了某些操作,这样在回放时肯定会运行失败的。所以就需要我们手动调试testcase,这时我们一般会选择手动执行,一步步调试成功后,就可以让它自动run了。

一个简单的case完成了,要不要亲自动手试一试?

 

初次使用遇到各种白痴问题如下:

1.有些操作录制不上,如点击添加图片操作,点击保存弹出提示框操作等

解决办法:手动写。其实看看录制的脚步,可以发现selenium录制的基本的 点击操作、输入操作命令还是比较简单的(Command、Target 、Value 共三个输入域)

就仿照录制的click事件进行编写。点击事件的命令一般是click,Targe可以通过firebug进行查看,然后填写能辨别出的目标对象的属性 (输入click、Target后可以点击find查看在当前页面能否找到)。

2.回放时报错,XX找不到

第一步,可以将回放的速度调到最慢,有时候回放速度太快会导致这个问题

第二步,如果第一步不能解决,进入到目标对象所在页面,选中报错的命令行然后点击selenium的find按钮,看是否能找到,如果能找到,可能是Target信息不够具体,我遇到这种情况时有时再次回放就成功了,呵呵原因不明啊

第三步,若第二步不能解决,可能是其它原因了,本人录制的对象的UUID每次登录都是发生变化的并且img的src都和版本相关联,所以Target中最好使用Xpath(选中目标对象,然后点击右键有获取Xpath信息选项)

3.登录页面,回放时可以输入用户名和密码,但一直提示输入帐号不能为空(测试系统规定:用户名为空时提示帐号不能为空)

在click登录前,加入fireEvent命令(针对每个输入框都加该命令)

<tr>
<td>fireEvent</td>
<td>//div[2]/div/div[2]/input</td>
<td>blur</td>
</tr>

4.加入页面验证 ,使用verifyTextPresent命令

<tr>
<td>verifyTextPresent</td>
<td>保存成功</td>
<td></td>
</tr>

操作一次selenium后觉得了解Xpath和熟练使用firebug进行定位能有效帮助selenium录制,更多selenium命令继续在实践中学习。

Selenium提供了testsuite-testcase组织结构,一个testsuite可以包含多个testcase。

通过上面的例子我们会发现,有些是hardcode,如果登录的密码修改了,我还是要去修改testcase,或者如果server的IP修改了我还是要去修改testcase,这样看来testcase的维护会很麻烦,其实我们可以通过设置变量方式来解决这个问题。

也有人说我们所有的操作都是基于登录成功的,如果登录没有成功,我们也不知道,其实我们可以通过设置检查点来验证是否登录成功,从而判断这个case是否执行成功。

以上提到的这三点,下一次文章我们就来聊聊这些

 

阅读全文
0 0
原创粉丝点击