`

SWTbot 测试SWT程序

 
阅读更多

这个程序借鉴的网上的一个程序一样。

 

public class SampleSWTUI {

    public Shell showGUI(final Display display) {
        Shell shell = new Shell(display);
        shell.setLayout(new GridLayout(3,true));
        shell.setText("Sample SWT UI");

        new Label(shell, SWT.NONE).setText("User Name: ");
        final Text nameText = new Text(shell, SWT.BORDER);
        nameText.setText ("");
        GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
        data.horizontalSpan = 2;
        nameText.setLayoutData(data);

        new Label(shell, SWT.NONE).setText("Password: ");
        final Text passwordText = new Text(shell, SWT.BORDER);
//        final Text passwordText = new Text(shell, SWT.BORDER|SWT.PASSWORD);
        passwordText.setText ("");
        data = new GridData(SWT.FILL, SWT.FILL, true, false);
        data.horizontalSpan = 2;
        passwordText.setLayoutData(data);

        Button loginButton = new Button (shell, SWT.PUSH);
        loginButton.setText ("Login");
        data = new GridData(SWT.FILL, SWT.FILL, true, false);
        data.horizontalSpan = 3;
        loginButton.setLayoutData(data);
        
        loginButton.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                String user = nameText.getText();
                String password = passwordText.getText();

                System.out.println("\n\n\n");
                if (user.equals("Favonius") && password.equals("abcd123")) {
                    System.out.println("Success !!!");
                } else {
                    System.err.println("What the .. !! Anyway it is just a demo !!");
                }
            }
        });

        shell.pack();
        shell.open();
        return shell;
    }

    public static void main(String [] args) {
        Display display = new Display();
        Shell shell = new SampleSWTUI().showGUI(display);
        
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) display.sleep();
        }
        display.dispose();
    }
}

 

 

 

public class SWTBotDemo {
    static SWTBotButton loginButton;
    static SWTBotText userText;
    static SWTBotText passwordText;
    static SWTBot bot;
    static Display display;
    static Shell shell;
    
    @BeforeClass
    public static void beforeClass() throws Exception {
        SWTBotPreferences.PLAYBACK_DELAY = 1000;
        
        display = Display.getDefault();
        shell = new SampleSWTUI().showGUI(display);
        bot = new SWTBot(shell);
        loginButton = bot.button("Login");
        userText = bot.textWithLabel("User Name: ");
        passwordText = bot.textWithLabel("Password: ");
    }
    
    @Test
    public void testLogin() {
        bot.sleep(1000);

        userText.setFocus();
        userText.setText("aaaaaaaa");
        passwordText.setFocus();
        passwordText.setText("11111111");
        userText.setFocus();
        userText.setText("bbbbbbbb");
        passwordText.setFocus();
        passwordText.setText("2222222");
        userText.setFocus();
        userText.setText("ccccccc");

        passwordText.setFocus();
        passwordText.setText("3333333");
        bot.sleep(1000);

        loginButton.setFocus();
        loginButton.click();   
        bot.sleep(1000);

        userText.setFocus();
        userText.setText("Favonius");
        bot.sleep(1000);


        passwordText.setFocus();
        passwordText.setText("abcd123");
        bot.sleep(1000);

        assert(userText.getText().equals("abcd123"));

        loginButton.setFocus();
        loginButton.click();    
        bot.sleep(3000);

//        while (!shell.isDisposed()) {
//             if (!display.readAndDispatch()) display.sleep();
//        }
//
//        display.dispose();
        
    }
}

 

 

 

分享到:
评论

相关推荐

    使用SWTBOT进行GUI自动化测试

    SWTBOT作为一款专门针对基于SWT/JFace的应用程序进行GUI自动化测试的工具,在Java领域内受到了广泛关注。 #### SWTBOT概述 SWTBOT是一款开源的GUI测试框架,专为基于SWT和JFace的应用程序设计。它提供了一套强大的...

    SWT的自动化测试框架

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

    SWTBot自动化测试学习软件

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

    SWTBot - SWT/Eclipse functional testing-开源

    SWTBot是用于SWT / RCP应用程序的自动化和测试工具,具有记录和回放脚本的功能。 功能将包括基于文本的脚本,对测试套件的回放,报告和多线程回放的ant支持。

    swtbot详细例子说明网页分享

    一个简单的SWTBot测试示例可能如下: ```java import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(SWTBotJunit4Class...

    SWTBot收集

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

    swtbot运行原理

    而“bat制作1.txt”和“bat制作.txt”可能是关于如何创建批处理文件来自动化SWTBot测试的指南。 总的来说,SWTBot通过事件驱动和组件定位,为SWT和JFace应用提供了强大的自动化测试能力。它的运行原理是通过模拟...

    swtbot 详细例子说明

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

    swtbot学习资料

    SWTBot测试通常基于JUnit框架,测试类包含一系列测试方法。每个方法代表一个独立的测试场景,可以使用`@Test`注解标识。在测试方法中,你会使用SWTBot提供的API来执行操作和验证结果。例如: ```java @Test public ...

    Web页面测试-swtbot

    sbtwot(应为swtbot)是一种开源的Java GUI测试工具,它专注于测试Swing和SWT/SWT JFace UI组件。尽管swtbot最初是为了测试桌面应用程序而设计的,但它也可以用于Web页面测试。在Eclipse环境下建立swtbot的Web应用...

    SWT的详解,例子,介绍

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

    如何为EclipseJFaceUI运行单元测试Java开发

    4. 在Eclipse中配置JUnit运行配置,指定SWTBot测试运行器。 5. 运行测试并根据结果迭代改进代码。 通过遵循这些步骤,开发者可以有效地对Eclipse JFace UI应用程序进行单元测试,确保代码的质量和稳定性。

    SWT开发

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

    SWT 资料

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

    SWT 整理出的部分资料

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

    pdi-ui-test:基于SWTBot的用于Pentaho数据集成的UI测试的集合

    【SWTBot】SWTBot是Java社区开发的一个开源测试工具,专为基于SWT(Standard Widget Toolkit)和JFace的图形用户界面(GUI)应用程序设计。SWTBot提供了丰富的API,可以模拟用户的操作,如点击按钮、填写表单、选择...

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

    在介绍完基础和高级主题之后,书中继续讨论了如何使用Maven Tycho构建插件、功能和更新站点,并使用SWTBot来自动化用户界面测试。这一部分对于希望通过自动化流程来提高开发效率和质量的开发者来说非常重要。 最后...

Global site tag (gtag.js) - Google Analytics