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

来源:互联网 发布:nginx反向代理什么意思 编辑:程序博客网 时间:2024/06/07 23:25

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

一、环境搭建

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

二、制作html

按照接口设计编写一个简单的html。
接口设计:
这里写图片描述

html:
这里写图片描述

页面:
这里写图片描述

三、编写脚本

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();       }}

四、运行

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

0 0
原创粉丝点击