`
yangzb
  • 浏览: 3506622 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Web测试工具Selenium入门心得

    博客分类:
  • QC
阅读更多
2009-02-05 作者:lotuswlz 来源:cnblogs
 

一直做开发,很少关注测试工具,尤其是以往的测试都主要是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();

  }

分享到:
评论

相关推荐

    selenium WEB 测试工具,开源工具。

    总结来说,Selenium 是一个强大的Web测试工具,因其开源特性,得到了广泛的应用和支持。它提供了多种组件和接口,适用于不同的测试需求和编程环境。通过熟练掌握Selenium,测试工程师能够有效地提高测试质量和效率,...

    Selenium——Web应用程序测试的工具

    总之,Selenium 是一个功能丰富的Web应用程序测试工具,能够满足各种测试需求,从简单的功能验证到复杂的性能和兼容性测试。通过学习和熟练掌握Selenium,测试工程师可以提升测试的质量和效率,确保Web应用在不同的...

    Selenium测试工具研究报告

    Selenium是由ThoughtWorks公司开发的一款强大的开源Web功能测试工具系列,旨在为Web应用程序提供自动化测试解决方案。该系列目前主要包括四款核心产品: 1. **Selenium Core**:作为Selenium IDE和Selenium RC的...

    Web自动化测试工具SELENIUM.pdf

    Web自动化测试工具Selenium是一种广泛应用于Web应用程序测试的工具,它可以模拟用户在浏览器中的操作来执行测试,支持多种浏览器和操作系统,包括但不限于Internet Explorer(IE)、Mozilla Firefox和Google Chrome...

    Web测试:Selenium使用

    Selenium 是一个广泛使用的开源自动化测试框架,主要针对Web应用程序。它由ThoughtWorks公司开发,提供了一套强大的工具集,支持多种编程语言,包括Java、C#、Python等,使得测试人员和开发人员能够编写自动化测试脚...

    自动化测试工具Selenium书籍(9本)目录知识点(思维导图加图).rar

    自动化测试工具Selenium书籍(9本)目录知识点(思维导图加图).rar 根据如下9本Selenium书籍收集整理: 2013年《Selenium自动化测试指南》 2015年《零成本实现Web自动化测试:基于Selenium WebDriver和Cucumber》 ...

    Web自动化测试工具SELENIUM.rar

    Web自动化测试工具Selenium是一个广泛使用的开源框架,用于自动化浏览器操作。它支持多种编程语言,如Java、Python、C#等,使得测试人员和开发者能够编写可跨多个浏览器和平台运行的测试脚本。Selenium的核心组件...

    selenium测试工具详细讲解

    9. **Web服务测试**:虽然Selenium主要用于UI测试,但也可以结合API测试工具(如Postman或RestAssured)进行端到端的测试,验证前后端交互的正确性。 10. **持续集成**:将 Selenium 测试自动化集成到持续集成/持续...

    selenium 用于web测试

    总的来说,Selenium 是Web测试领域的重要工具,它的灵活性和广泛支持使其成为自动化测试工程师的首选。通过深入理解和熟练掌握Selenium,可以极大地提升测试效率和质量,为软件产品的稳定性和可靠性保驾护航。

    开源自动化测试工具selenium的使用

    开源自动化测试工具selenium的使用 开源自动化测试工具selenium的使用 开源自动化测试工具selenium的使用

    开源测试工具-selenium下载

    Selenium 是一个强大的开源自动化测试工具,主要用于Web应用程序的测试。它支持多种编程语言,包括Java、Python、C#、Ruby等,使得测试脚本的编写具有很高的灵活性。Selenium的核心组件包括Selenium WebDriver、...

    selenium入门

    selenium入门.pptSelenium是ThroughtWorks公司的开源Web功能测试工具系列

    Selenium自动化测试工具(新手入门教程)1(1-5)

    Selenium自动化测试工具(新手入门教程)1(1-5)

    自动化测试工具selenium相关插件

    自动化测试工具Selenium是Web应用程序测试的首选工具之一,它允许开发者模拟用户行为,并对网页进行交互,从而实现自动化测试。Selenium的核心组件是WebDriver,它支持多种浏览器,包括Chrome、Firefox、Safari等,...

    自动测试工具selenium

    Selenium 是一款强大的自动化测试工具,特别适用于Web应用程序的验收测试。它由ThoughtWorks公司开发,使得测试可以直接在浏览器环境中运行,模拟真实用户的操作。Selenium 支持多种浏览器,如IE、Mozilla和Firefox...

    Web应用程序测试的工具 selenium IDE

    用于Web应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla和Firefox等。这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很...

    Selenium(Web的自动化测试工具)

    Selenium,作为一款强大的Web自动化测试工具,是软件测试领域不可或缺的一部分。它允许开发者编写脚本,模拟用户在浏览器中的各种交互行为,如点击、填写表单、导航等,从而实现对网页应用的功能验证和性能评估。...

Global site tag (gtag.js) - Google Analytics