基于Selenium和Fitnesse的自动化测试框架

上一篇 / 下一篇  2013-03-22 09:34:04 / 个人分类:Selenium


自动化测试工具框架

首先用Selenium编写一些方法,比如打开浏览器,输入URL,然后登录。然后在Fitnesse中,去调用这个方法,完成操作。下面是一些示例代码:

===========Java Code==================

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.openqa.selenium.ie.InternetExplorerDriver;
import com.thoughtworks.selenium.Selenium;

public class Browser {
    private static WebDriver driver;
    private static Selenium selenium;
    private static String baseUrl;
    private static String chosenBrowser;

          
    public static WebDriver getDriver() {
        return driver;
    }

    public static Selenium getSelenium() {
        try {
            Thread.sleep(delay);
        }
        catch (InterruptedException e) {}
        return selenium;
    }
    
       public boolean setBrowserToTestTo(String browser) throws Exception {
        if (browser.compareToIgnoreCase("FireFox") == 0) {
            ProfilesIni allProfiles = new ProfilesIni();
            FirefoxProfile profile = allProfiles.getProfile("default");
            profile.setEnableNativeEvents(true);
            Browser.driver = new FirefoxDriver(profile);
            chosenBrowser = "Firefox";
            try
            {
                alerter = driver.switchTo().alert();
               
            }
            catch (Exception ex)
            {
                //boop boop nothing
            }           
            return true;
        }
        else if (browser.compareToIgnoreCase("Internet Explorer") == 0) {
         Browser.driver = new InternetExplorerDriver();
            chosenBrowser = "Internet Explorer";
            try
            {
                alerter = driver.switchTo().alert();
               
            }
            catch (Exception ex)
            {
                //boop boop nothing
            }
            return true;
        }
             return false;
    }

    public boolean setStartUrlTo(String url) {
        baseUrl = "http://" + url;
        //Browser.selenium = new WebDriverBackedSelenium(Browser.driver, baseUrl);
        Browser.driver=new InternetExplorerDriver();
        driver.get(baseUrl);
        return true;
    }

    public boolean setReplayDelay(long delay) {
        Browser.delay = delay;
        return true;
    }   
 }

===========Fitnesse==================

#调用Browser类的setBrowserToTestTo()和setStartUrlTo()

!define BROWSER_TO_TEST {Internet Explorer}

!define START_URL {www.baidu.com}

|script.|util.Browser|
|set browser to test to |${BROWSER_TO_TEST}|
|set start url to|${START_URL}|

===========说明==================

1. 用Selenium编写代码,模拟测试步骤,用Fitnesse调用。

2. 注意测试数据和测试步骤的分离。可以在Fitnees中创建test data的wiki page,然后import。

3. 注意java code中包的划分,比如哪些page或者button的代码放在一个包中。

4. 注意在Fitnesse中page的结构,比如test data的page放到同一个suite。

5. 使用Selenium编写方法是,代码的颗粒度。比如说,如果login page, 可以把打开浏览器,输入URL,输入用户名,密码,点击login,写到同一个方法中,也可以分成五个方法。具体怎样组织,要考虑到代码的重用程度。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 3245
  • 日志数: 4
  • 建立时间: 2012-12-19
  • 更新时间: 2013-04-23

RSS订阅

Open Toolbar