一直做开发,很少关注测试工具,尤其是以往的测试都主要是Junit测试,难免在web层面上因没有严格测试而经常出现bug,近来小小接触了一下这一类的测试工具,感觉蛮好玩的,在此和大家分享一下,希望多多交流。
一、Selenium IDE 介绍
下载selenium ide插件并安装(firefox),在tools菜单下可以看到。
单击上面的红色原点,即可对你在网页上的任何操作做记录,以命令方式记录。这些命令你也可以自己写下来,再批量运行,就会看到浏览器自动执行所有的动作,这样就可以保存为测试脚本了,也就可以对每次的测试做备案了。
下面来说说selenium的命令格式,主要由三部分组成:
- command 操作命令
- target 操作对象,通常是页面及页面元素
- value 作为断言的值
1、元素locator的访问方式:
1)id=id,假如元素id是username,则target直接写username即可
2)name=name,可以通过name直接获得第一个该名称的元素
例如:username
name=username
3)dom=javascript表达式:
例如:dom=document.forms['myForm'].myDropdown
dom=document.images[56]
dom=function foo() { return document.links[1]; }; foo();
4)xpath=xpath表达式,使用xpath表达式来定位一个元素。
例如:xpath=//img[@alt='The image alt text']
xpath=//table[@id='t1']//tr[4]/td[2]
xpath=//a[contains(@href,'#id1')]
5)link=textPattern
例如:link=新闻
主要的访问方式即以上几种。
2、常用Actions
1)open(url)
接收一个参数url,即command=open, target=url
2)type(locator,value)
给locator指定的元素或属性赋值以value
3)click(locator)
单击一个链接、按钮、checkbox或radio等等,locator即元素定位
4)clickAndWait(locator)
单击一个链接、按钮等等元素,单击后等待新的页面加载
我们的表单提交,就可以用这个方法来单击submit按钮。
类似的方法还有selectAndWait、typeAndWait、focusAndWait……
5)verifyLocation(pattern)
校验当前页面的绝对路径(url)是否与pattern匹配,关于pattern的解释,我们在下面具体说明。
6)verifyValue(locator, pattern)
校验指定元素的值是否与指定pattern匹配
7)verifyVisible(locator)
校验指定元素是否可见,如果当前元素的style="display:none",即不可见。
8)verifyTextPresent(pattern)
校验当前页面是否出现该文字
9)verifyChecked(locator)
用于校验checkbox是否被选中
10)verifyAttribute(locator, pattern)
校验指定的元素属性值,是否匹配pattern
例如:verifyAttribute(link=All Search Results for "bike"@href, 'glob:*/search/bike?c=0*')
即校验指定的link的href属性是否匹配"glob:*/search/bike?c=0*"
11)fireEvent(locator,eventName)
用于调用locator指定的元素的指定eventName的事件,例如:
fireEvent(userLoginName,blur),即调用文本框userLoginName的失去焦点事件
以上是较为常用的几个方法,还有许多方法的详细介绍可以参见:http://seleniumhq.org/projects/core/reference.html
3、pattern的写法
在firefox的selenium IDE中,方法的参数pattern,即匹配的文本,共有三种匹配方式:
1)exact:string
精确匹配,必须完全匹配当前字符串
2)regexp:regexp
正则表达式匹配,这里主要是针对javascript中支持的正则表达式
3)glob:pattern
通配符匹配,*表示任意长度任意字符串,?表示任何单个字符,
例如方法 verifyLocation(*/search?key=bike&c=*),即开头的域名部分和之后可能附带的一些参数都做了忽略。
需要说明的是:这里pattern的写法,仅仅是在IDE工具,即用浏览器以html方式直接运行脚本执行测试案例的方式中才有效。在后台test case中,只能使用equals或者matches的方式,才能验证。
二、Selenium Test Case介绍
相关文档:http://seleniumhq.org/documentation/tutorials/
1、首先,在命令行输入以下命令,启动Selenium服务:
i. 多窗口模式
java -jar selenium-server.jar -multiWindow
ii. 交互模式
java -jar selenium-server.jar -interactive
说明:(1)交互模式,用户可以在server的窗口下,一条命令一条命令的输入,查看浏览器上的动作以及server日志。
其命令如下:
a. 初次启动,打开新窗口:
cmd=getNewBrowserSession&1=*iexplore&2=http://test.offerme.com.au
(新建浏览器session,指定浏览器是IE,同时指定访问的域名:http://test.offerme.com.au)
b. 以后再次加载页面,则可以省去域名
cmd=open&1=/cat/all?sn=0
(打开链接/cat/all?sn=0)
c. 给指定文本框输入指定值
cmd=type&1=q&2=bike
(给id为q的文本框输入值bike)
(2)多窗口模式,可以在后台写java的test case,让程序自动执行一整套操作。
例:
public void testRegister() throws Exception {
selenium.setSpeed("1000"); selenium.open("http://zhidao.baidu.com"); selenium.type("ikword", "abc"); selenium.close(); } |
2、在项目中导入selenium-java-client-driver.jar、selenium-java-client-driver-sources.jar、selenium-java-client-driver-tests.jar三个包
3、Test Case写法,可以继承com.thoughtworks.selenium.TestCase类,也可以继承 com.thoughtworks.selenium.SeleneseTestCase(它是TestCase的子类,对setUp()方法做了重写,更为方便)
写法跟JUnit测试相似,需要写一个setUp()方法,在此方法中可以对selenium对象实例化以并且启动。
例:
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost",4444, "*iehta", "http://localhost:8080/"); selenium.start(); } |
相关推荐
1.Selenium IDE入门 2.Selenium IDE安装与www.qytang.com记录 3.1.Selenium IDE ACS5 登录登出记录 3.2.Selenium IDE ACS5创建用户 3.3.Selenium IDE ACS5校验用户 3.4.Selenium IDE ACS5删除用户 4.1.Selenium IDE ...
Selenium IDE是firefox的一个插件,可以帮助刚入门的自动化测试供测试,在脚本语言不太熟练的情况下,可以通过Selenium IDE实现脚本的录制、开发、回放。 众所周知,「Selenium IDE」是一种记录和回放工具。现在它将...
官方selenium_IDE_chrome方便在Chrome中录制视频脚本,做web端自动化,有利于selenium基础学习做好入门基础。
接着是selenium IDE下载安装:下载传送门,点击 crx4chrome下载 有些同学会出现下载完立即自动删除的情况,这时只要在下载页拖动到下方找到其他版本下载即可 然后是安装,谷歌浏览器点击右上方那三个点,更多工具–...
selenium_IDE方便在Firefox中录制视频脚本,做web端自动化,有利于selenium基础学习做好入门基础.
4.Selenium私房菜系列4 -- Selenium IDE的使用 5.Selenium私房菜系列5 -- 第一个Selenium RC测试案例 6.Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1) 7.Selenium私房菜系列7 -- 深入了解Selenium RC工作...
自己做的selenium基础的课件,主要是selenium ide /rc的安装和初步使用
Selenium是ThoughtWorks公司开发的一套基于WEB应用的测试工具,直接运行在浏览器中,模拟用户的操作,主要包括三个部分selenium-IDE,selenium-core,selenium-rc 。它可以被用于单元测试,回归测试,冒烟测试,集成...
selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。 Selenium的核心Selenium Core基于JsUnit,完全由...
资源名称:基于Selenium 2的自动化测试 从入门到精通 内容简介:本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试。本书从自动化测试的特点娓娓道来,引出了主角Selenium;介绍了Selenium IDE的...
1.selenium简介 2.xpath使用 3.selenium api参考手册 4.selenium IDE 使用 5.selenium RC 6.selenium RC工作原理 7.selenium server
Selenium私房菜(新手入门教程) Selenium是ThoughtWorks公司开发的一套基于WEB应用的测试工具,直接运行在浏览器中,模拟用户的操作,主要包括三个部分selenium-IDE,selenium-core,selenium-rc 。它可以被用于单元...
介绍了Selenium IDE的使用;讲述了获取页面元素和定位页面元素的多种方式;讲解了WebDriver与Selenium RC的区别、WebDriver的架构和设计理念;阐述了WebDriver的部署、基本使用方法、对HTML5特性的支持,以及如何...
selenium ide 自动化测试基础脚本 web自动化测试 python入门代码
第2章 牛刀小试只selenium ide 第3章 selenium玩转页面元素 第4章 初始selenium webdriver 第5章 玩转selenium webdriver 第6章 selenium玩转android 第7章 selenium玩转IOS 第8章 selenium玩转Raspberry pi 第9章 ...
python+selenium IDE自动化测试 环境搭建及入门
基于python和selenium2做自动化测试,你必须会搭建基本的开发环境,掌握python基本的语法和一个IDE来进行开发,这里通过详细的讲解,介绍怎么搭建python和selenium2开发环境,并提供一个基本入门的代码,后续逐步...
第6章 Selenium IDE 第7章 unittest单元测试框架 第8章 自动化测试高级应用 第9章 Selenium Grid2 第10章 Python多线程 第11章 自动化测试项目实战 第12章 BDD框架之Lettuce入门 第13章 GitHub托管项目 第14章 持续...
WebDriver 、selenium_ide-2.9.1-fx.xpi、 selenium-2.48.2.zip、Selenium_(安装使用).ppt、selenium_python_API.pdf、Selenium2+Python自动化测试实战(第二版).pdf、Selenium2_WebDriver入门指南.pdf
最新版本基于seleniumide自动化测试脚本录制方法包含元素定位,讲的比较详细。Selenium Selenium-IDE 只是一个录制脚本的工具。仅仅作为入门使用。目前 Selenium-IDE不仅支持FireFox,还支持 Chrome。