`
longgangbai
  • 浏览: 7338925 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

利用SWTBot实现Eclipse的应用程序的自动化测试开发

 
阅读更多

利用SWTBot实现高效的SWT和基于Eclipse的应用程序的自动化测试开发

 

SWTBot一个开源基于Java的自动化运行时测试工具,其测试速度快效率高,可以GUI测试SWT和基于Eclipse的应用程序,可以运行在SWT能运行的所有平台上,可以使得开发和测试人员更紧密而高效的合作开发自动化测试。SWTBot提供了许多访问SWTEclipse组件的API来隐藏SWTEclipse的复杂性,利用这些API即可方便地操控SWT控件来实现自动化测试。本文将介绍SWTBot如何测试SWT应用程序和它的一些基本工作机制。

 

SWTBot如何测试SWT应用程序:

 

本例采用jdk1.5swtbot2.0junit3.8来测试SWT应用程序中文本控件存在,重设文本内容并校验,代码如下:

package example.swtbot.test;

 

//import swt package

import org.eclipse.swt.SWT;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Text;

//import swtbot package

import org.eclipse.swtbot.swt.finder.SWTBot;

import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;

//import junit package

import junit.framework.TestCase;

//import log4j package

import org.apache.log4j.PropertyConfigurator

 

public class HelloWorld extends TestCase{

 

SWTBot bot;

 

public void setUp() {

PropertyConfigurator.configure("config\\log4j.properties");

}

 

public void testHelloWorld() {

Display display = new Display();

Shell shell = new Shell(display);

shell.setText("Hello World");

shell.setSize(200, 80);

Text text = new Text(shell,SWT.MULTI | SWT.BORDER);

text.setBounds(0, 0, 200, 80);

text.setText("Hello World SWT");

shell.open();

 

bot = new SWTBot();

 

if(!display.isDisposed()){

SWTBotText t = bot.text("Hello World SWT", 0);

assertNotNull(t);

bot.sleep(600);

t.setText("new test string");

assertEquals("new test string", t.getText());

}

while(!shell.isDisposed()) {

if(!display.readAndDispatch()) display.sleep();

}

display.dispose();

}

}

 

编译前先拷贝本项目example.swtbot.test\lib\ext下的四个jar文件(如图1)到你的jre/lib/ext目录下,然后javac -cp lib\junit.jar -d bin src\example\swtbot\test\HelloWorld.java

1

运行可有多种方式,这里仅提供命令行方式:java -cp lib\junit.jar;bin junit.textui.TestRunner example.swtbot.test.HelloWorld,运行结果和本项目结构(如图2):

2

SWT应用程序启动界面(如图3)

图3

SWT应用程序测试界面(如图4),其文本控件重设文本内容成功。

图4

 

为保存测试结果运行前请拷贝本项目example.swtbot.test\config下的log4j.properties到你的项目config目录,其内容如下:

log4j.rootCategory=DEBUG, R, O

# Stdout

log4j.appender.O=org.apache.log4j.ConsoleAppender

# File

log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.appender.R.File=log4j.log

# Control the maximum log file size

log4j.appender.R.MaxFileSize=100KB

# Archive log files (one backup file here)

log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.O.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n

log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n

 

分享到:
评论

相关推荐

    使用SWTBOT进行GUI自动化测试

    ### 使用SWTBOT进行GUI自动化测试 #### 引言 在软件开发过程中,图形用户界面(GUI)测试一直是挑战之一,特别是在Java世界里...通过合理的设计和实施策略,可以充分利用SWTBOT的优势,实现高效稳定的GUI自动化测试。

    SWTBot自动化测试学习软件

    SWTBot是一款强大的开源自动化测试工具,主要用于Java GUI应用程序,特别是那些基于Eclipse RCP(Rich Client Platform)和SWT(Standard Widget Toolkit)的应用。它提供了丰富的API,使得测试人员和开发人员能够...

    SWT的自动化测试框架

    总的来说,SWTBot是SWT和RCP应用程序自动化测试的强大工具,通过它,开发者可以高效地构建稳定可靠的测试套件,确保应用程序的质量和稳定性。在实际项目中,结合持续集成工具如Jenkins,可以实现自动化的持续测试,...

    swtbot学习资料

    SWTBot是一款强大的开源自动化测试框架,主要用于Java GUI应用程序,特别是那些基于Eclipse RCP(Rich Client Platform)和SWT(Standard Widget Toolkit)的应用。它提供了丰富的API,使得编写测试用例变得更加简单...

    SWTBot收集

    SWTBot是一个强大的开源自动化测试框架,专门用于Eclipse RCP(Rich Client Platform)和SWT(Standard Widget Toolkit)应用程序的UI测试。它提供了一种简单而强大的方式来编写可维护的测试,使得开发者和测试人员...

    swtbot 详细例子说明

    SWTBot是一个开源自动化测试框架,专为Eclipse RCP(Rich Client Platform)和SWT(Standard Widget Toolkit)应用程序设计。这个工具允许开发者和测试人员编写可重复的、可靠的UI测试,无需深入学习复杂的事件模拟...

    SWTBot插件包及例子

    Eclipse的JUnit框架可以很好地与SWTBot结合,实现自动化测试的结构化。 6. **录制与回放**:SWTBot还支持录制用户操作,然后生成相应的测试脚本,这对于快速创建测试用例非常有用。不过,这种功能可能需要额外的...

    Web页面测试-swtbot

    为了提高测试效率并减少资源浪费,自动化测试工具的应用变得越来越普遍。这些工具不仅可以显著减少测试时间,还能提高测试的准确性和一致性,降低质量保证的成本。 #### 五、sbtwot工具在Web测试中的应用 sbtwot...

    SWT的详解,例子,介绍

    **SWTBOT** 是一个自动化测试框架,专门针对基于SWT和RCP(Rich Client Platform)的应用程序。随着SWT和Eclipse在开发领域的广泛应用,对这些应用进行自动化测试的需求日益增加。SWTBOT提供了一种简洁的方式来识别...

    Eclipse 4 Plug-in Development by Example: Beginner's Guide

    最后,本书还涉及了如何使用JUnit对插件进行自动化测试,并以实例的方式展示了如何创建和使用Eclipse插件的各种特性和功能。 这本书由Packt Publishing出版发行,共348页,于2013年6月20日首次发行。书的作者是Dr. ...

    SWT 整理出的部分资料

    SWTBot是Eclipse社区开发的一个测试工具,用于自动化SWT和JFace应用程序的UI测试。 9. **性能优化** SWT由于直接与操作系统交互,通常比AWT和Swing更快。但是,不恰当的使用可能会导致内存泄漏,需要谨慎处理组件...

    SWT开发

    除此之外,还有SWTBot用于自动化测试,JProfiler等工具用于性能分析。 9. **与其他技术结合**:SWT可以与JFace、OSGI、Eclipse RCP等技术结合使用,构建复杂的企业级应用。 10. **调试与优化**:在SWT开发过程中,...

    SWT 资料

    此外,还有一些辅助工具,如SWTBot,用于自动化测试SWT应用,确保其稳定性和功能完整性。 SWT 与Java Swing的区别主要体现在以下几个方面: 1. 性能:由于SWT直接调用操作系统API,性能通常优于Swing,特别是在大型...

Global site tag (gtag.js) - Google Analytics