html+selenium+webdriver+java,一个前端自动化Demo

某支付产品,需要以form post方式调起。用httpclient或其他接口测试工具直接发报文(key1=value1&key2=value2&……keyN=valueN)么也可以,但是这个产品是带前端页面的,还想看看前端页面长什么样,于是想到了借助前端自动化工具selenium来玩。

一、环境搭建

selenium+webdriver+java环境搭建就不详述,具体可参考材料http://www.cnblogs.com/fnng/p/4753511.html。

二、制作html

按照接口设计编写一个简单的html。
接口设计:
html+selenium+webdriver+java,一个前端自动化Demo_第1张图片

html:
html+selenium+webdriver+java,一个前端自动化Demo_第2张图片

页面:
html+selenium+webdriver+java,一个前端自动化Demo_第3张图片

三、编写脚本

package com.mypro.b2ctest;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.*;
import Certificate.CertificateCoder;
import java.util.Date;
import java.text.SimpleDateFormat;

public class test{

    public static void main(String[] args){

        SimpleDateFormat df1 = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
        SimpleDateFormat df2 = new SimpleDateFormat("yyyyMMdd HH:mm:ss");//设置日期格式       


        //配置测试数据
        String key1="1.0.0";
        String key2=df1.format(new Date());
        String key3=df2.format(new Date());

        //计算签名
        String string="key1="+key1+"&key2="+key2+"&key3="+key3;
        System.out.println("[DATA]"+string);
        String sign = null;
        try {
            sign = CertificateCoder.sign(string, "证书path", "证书密钥").replaceAll("[\\s]", ""); //替换掉所有空白字符
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("[SIGN]"+sign);

        //前端赋值
        System.out.println("start selenium");
        WebDriver driver=new InternetExplorerDriver();
        driver.get("C:/Users/Administrator/Desktop/b2c_req.html");
        driver.findElement(By.xpath("/html/body/form[1]/input[1]")).sendKeys(key1);
        driver.findElement(By.xpath("/html/body/form[1]/input[2]")).sendKeys(key2);     
        driver.findElement(By.xpath("/html/body/form[1]/input[3]")).sendKeys(key3);     
        driver.findElement(By.xpath("/html/body/form[1]/input[4]")).sendKeys(sign);
        driver.findElement(By.xpath("/html/body/form[1]/input[5]")).submit();       

        //driver.close();   

    }
}

四、运行

运行效果就不展示了。脚本可以继续完善,完全实现前端自动化。

你可能感兴趣的:(html+selenium+webdriver+java,一个前端自动化Demo)