`
jiangduxi
  • 浏览: 458732 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

再谈Selenium测试之精要

 
阅读更多
  最近在使用Selenium做ExtJs的测试的时候,有一些问题值得总结和反省下。

背景:
   目前一个版本的功能使用ExtJs+Hibernate+Spring进行编写。ExtJs使用Ext Designer进行编写进行自动化功能测试:选用Selenium

在进行selenium录制的时候,会出现一些ID是变得的。因此在经过和编程人员的协商后,决定在Ext Designer编写ExtJs的时候设置好ID。因此基本上所有发布的ExtJs源码是有固定的ID的。

经过反复的selenium录制和使用firefox的Firebugs插件的定位。得出以下结论。Ext Designer生成的ExtJs代码中的一些控件,其实是包含在一些table或者div里面的。因此更为精确的定位该控件可以使用Xpath来进行。比如:
//table[@id=''] or //input[@id=''] 

然后用selenium.type()方法或者selenium.select()方法或者selenium.click()。这三个方法是最基本的。也是最容易记住和使用的。但是更为好的个人感觉就是使用selenium.runScript();关于这个方法看下封装:
public String selectComboRow(String comboId, String comboValue) {
		
		return "var combo = Ext.getCmp('" + comboId + "'); combo.setValue('" + comboValue + "'); combo.fireEvent('select');";
		
	}
	
	public String typeTextField(String fieldId, String fieldValue) {
		
		return "var textf = Ext.getCmp('" + fieldId + "'); textf.setValue('" + fieldValue + "'); textf.fireEvent('blur');";
		
	}
	
	public String buttonClick(String buttonId) {
		
		return "Ext.getCmp('" + buttonId + "').fireEvent('click')";
		
	}	

这样在对录制ExtJs的CheckboxSelectionModel的时候就可以使用selectComboRow方法啦。

最后要注意的是关于Selenium的keyDown,keyPressNative等事件
	    selenium.focus("控件的ID");
	    selenium.type("控件ID", "填入的值");
	    selenium.keyDown("控件ID", "\\40");//模拟按下列
	  Thread.sleep(1000);
selenium.keyPressNative(String.valueOf(KeyEvent.VK_ENTER));//,模拟按enter键 

以上代码用于有下列框数据或者要通过输入的值,进行搜索得到相应的信息的时候。
步骤:先获取该控件的焦点---在该控件中输入值----按下拉框的数据---按enter确认。
注意Thread.sleep()这个方法是用来等待输入值到搜索得出值的时间。如果没有该方法。那么可能你的enter键按太快。而得不到你要等待的数据。

以上是一些未经过整理的记录。方便以后的记忆和学习。。
分享到:
评论

相关推荐

    再谈Selenium测试之精要.docx

    在进行Web应用自动化测试时,Selenium是一款广泛使用的工具,尤其在处理JavaScript驱动的页面如ExtJs时。本文主要探讨了在使用Selenium与Ext Designer相结合进行ExtJs测试时遇到的问题及解决方案。 首先,当我们...

    Selenium测试工具研究报告

    相比之下,Selenium IDE和Selenium RC无需此类安装,它们通过扩展浏览器功能绕过了同源策略。 - **多语言支持**:Selenium IDE仅支持Selenium语言,而Selenium RC提供了丰富的多语言支持,包括C#、Java、Python、...

    python selenium 测试报告

    python selenium 测试报告

    selenium测试环境搭建

    Selenium作为一种强大的开源工具,被广泛应用于Web应用程序的功能测试之中。本文将详细介绍如何搭建Selenium+junit+TestNg的自动化测试环境,并通过实际案例演示整个过程。 #### 二、准备工作 **1. 安装JDK** ...

    Selenium测试实践-基于电子商务平台

    资源名称:Selenium测试实践-基于电子商务平台内容简介:自动化测试已经不是一个新名词,随着一些自动化测试工具的出现并且进入国内,自动化测试行业的发展很快。《Selenium测试实践:基于电子商务平台》对开源自动化...

    Selenium测试需要jar包完全版

    Selenium 是一个强大的开源自动化测试框架,用于模拟真实用户在Web浏览器上的操作。它支持多种编程语言,包括Java,使得开发者能够编写可重复使用的自动化测试脚本来验证网页应用的功能。在给定的压缩包文件中,包含...

    selenium测试包

    Selenium 是一个强大的自动化测试工具,主要用于Web应用程序的测试。这个“selenium测试包”包含了运行Selenium测试所需的关键组件,特别是描述中的“selenium-2.44.0”可能是一个具体的版本号,代表着该包是...

    selenium测试工具详细讲解

    Selenium 是一个强大的开源自动化测试框架,用于网页应用的测试。它支持多种编程语言,如 Java、Python、C# 和 Ruby,使得测试人员和开发者能够编写可跨浏览器运行的自动化测试脚本。以下是对 Selenium 测试工具的...

    selenium2 python自动化测试 PDF学习

    Python的标准库已经足够强大,再结合一些专门针对测试的第三方库,比如unittest和nose,可以用来组织测试用例,进行测试套件的管理。 接下来,多线程运行测试集是提升测试效率的有效手段之一。在Python中,可以利用...

    Selenium自动化测试

    Selenium自动化测试的主要内容可以分为几个部分,包括Selenium简介和基础、Selenium-IDE、Selenium命令、Selenium-R、Selenium测试案例设计、Selenium用户扩展、Selenium-Grid以及Selenium 2.0和WebDriver等内容。...

    Selenium2自动化测试实战 基于Python语言

    《Selenium2自动化测试实战——基于Python语言》是一本针对软件测试工程师,尤其是对Web应用程序自动化测试感兴趣的读者的专业书籍。作者虫师在2016年10月编写了这本书,尽管时间已过去数年,但Selenium作为自动化...

    Selenium测试插件

    Selenium测试插件是自动化测试领域中不可或缺的工具,尤其在Web应用的测试中发挥着重要作用。火狐浏览器上的Selenium测试插件是Selenium IDE(集成开发环境),它为测试人员提供了一种直观且高效的方式来编写和执行...

    selenium自动化测试工具

    Selenium是一款强大的Web应用程序自动化测试工具,它支持...从录制回放的IDE,到支持多语言的Remote Control,再到并行测试的Grid,Selenium为整个测试生命周期提供了全面的支持,是Web应用测试领域不可或缺的工具。

    phpunit+selenium测试环境搭建浅谈

    在IT行业中,自动化测试是确保软件质量的重要环节,而`phpunit`和`selenium`是两种广泛使用的自动化测试工具。`phpunit`是PHP语言的单元测试框架,它允许开发者编写测试用例来验证代码的功能。`selenium`则是一个跨...

    SELENIUM测试自动化框架

    SELENIUM是一个用于Web应用程序测试的工具,能够进行功能、回归、UI等自动化测试。由于其轻量级、易学易用、跨平台等特性,受到测试工程师的广泛青睐。SELENIUM测试自动化框架主要包含SELENIUM WebDriver和SELENIUM ...

    selenium自动化测试

    **Selenium 自动化测试详解** Selenium 是一个强大的开源自动化测试框架,广泛应用于Web应用程序的测试。它允许测试人员编写可运行在多种浏览器和操作系统上的脚本,从而实现跨平台、跨浏览器的自动化测试。...

    selenium自动化测试实践——基于python语言

    本文介绍的是一本关于Selenium自动化测试的实践指南,它以Python语言为编程基础,提供了一系列自动化测试的实践技巧和实例。以下知识点将详细介绍书中所涉及的关键内容。 首先,了解Selenium。Selenium是一个用于...

    JAVA Selenium 自动测试

    WebDriver支持多种编程语言,Java是其中之一,因此我们可以用Java编写测试脚本来驱动浏览器执行任务。 **1. Selenium与Java结合** 在Java中使用Selenium,首先需要引入对应的依赖库,通常通过Maven或Gradle来管理...

    selenium测试工具

    Selenium是现在使用最为广泛的一款开源自动化测试工具,也是非商业支持的稳定性易用性最好的一款自动化测试工具。和由HP提供强大商业支持的QTP相比,selenium不仅在软件投资上有比较大的优势,在针对web测试的稳定性...

Global site tag (gtag.js) - Google Analytics