selenium接口测试

GlobalVariable.java

package seleniumInterfaceTest;

/**
 * 全局常量类
 *
 */
public class GlobalVariable {
    /** 域名 */
    public static final String HOST = "http://192.168.3.4:8081";

}

InterfaceEntity.java

package seleniumInterfaceTest;

import java.util.Map;
import java.util.Map.Entry;

/**
 * 接口实体类
 *
 */
public class InterfaceEntity {

    /** 接口url */
    private String url;

    /** 请求接口的参数 */
    private Map params;

    /** 返回数据 */
    private Object result;

    public InterfaceEntity(String url, Map params) {
        super();
        this.url = url;
        this.params = params;
    }

    public InterfaceEntity() {
        // TODO Auto-generated constructor stub
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Map getParams() {
        return params;
    }

    public void setParams(Map params) {
        this.params = params;
    }

    public Object getResult() {
        return result;
    }

    public void setResult(Object result) {
        this.result = result;
    }

    /**
     * 获取httpGet请求url
     * @return
     */
    public String getHttpGetUrl(){
        String httpGetUrl = this.url;
        if(params != null){
            httpGetUrl += "?";
            for(Entry param : params.entrySet()){
                httpGetUrl += param.getKey() + "=" + param.getValue()+"&";
            }
            httpGetUrl = httpGetUrl.substring(0, httpGetUrl.length()-1);
        }
        return httpGetUrl;
    }
}

SeleniumInterfaceTest.java

package seleniumInterfaceTest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

/**
 * 使用selenium进行接口测试
 * 
 * @author zzgx
 *
 */
public class SeleniumInterfaceTest {

    public static void main(String[] args) {
        // 如果谷歌浏览器没有默认安装在C盘,需要制定其路径
        System.setProperty("webdriver.firefox.bin",
                "D:\\firefox46\\firefox.exe");
        // 定义驱动对象为火狐浏览器
        WebDriver driver = new FirefoxDriver();
        /** 测试的接口 */
        List interfaceList = new ArrayList();

        Map params = new HashMap();
        params.put("userName", "zl");
        InterfaceEntity getUserInfoByUserName = new InterfaceEntity(
                GlobalVariable.HOST
                        + "/zhizhi-all-in-pc-pre/user/getUserInfoByUserName",
                params);

        InterfaceEntity queryUserInfoList = new InterfaceEntity(
                GlobalVariable.HOST
                        + "/zhizhi-all-in-pc-pre/user/queryUserInfoList",
                null);
        interfaceList.add(getUserInfoByUserName);
        interfaceList.add(queryUserInfoList);
        for(InterfaceEntity interfaceEntity : interfaceList){
            System.out.println("接口地址:"+interfaceEntity.getHttpGetUrl());
            driver.get(interfaceEntity.getHttpGetUrl());// 驱动的网址
            WebElement webElement = driver.findElement(By.xpath("/html/body/pre"));
            interfaceEntity.setResult(webElement.getText());
            System.out.println("result:"+webElement.getText());
        }
        //关闭驱动
        driver.close();
    }

}

你可能感兴趣的:(javaweb,web功能封装)