操作日期控件的自动化脚本

2018-12-13  本文已影响0人  青风飞絮

第一步:准备日期控件的界面代码,如下所示:

<html>
    <head>
        <title>日期控件测试</title>
    </head>
    
    <body>
        <table border = '0'>
            <tr>
                <th>出发日期</th>
                <td><input type='date' readonly='readonly' name='sendDate' value = '2018-01-01'/></td>
            </tr>
            <tr>
                <th>返回日期</th>
                <td><input type='date' readonly='readonly' name='backDate' value = '2018-01-01'/></td>
            </tr>
        </table>
    </body>
</html>

第二步:使用xpath定位元素并编写JS脚本,脚步如下:

//声明一个变量,并把xpath语句存放在变量中
var xpath = "//input[@type='date']";
//使用xpath定位元素,并把定位结果取出来放到一个结果集中
var res = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null);
//从结果集中取第一个元素
var e1 = res.iterateNext();
//从结果集中取第二个元素
var e2 = res.iterateNext();
//去除元素e1的只读属性,并设值为"2018-12-01"
e1.removeAttribute("readonly");
e1.value = "2018-12-01";
//去除元素e2的只读属性,并设值为"2018-12-05"
e2.removeAttribute("readonly");
e2.value = "2018-12-05";

第三步:编写Java自动化测试脚本,脚步如下

    //测试日期控件
    @Test
    public void testDate() {
        //打开测试界面文件
        driver.get("C:\\Users\\LENOVO\\Desktop\\2018-10-01\\demo1.html");
        //线程休息2秒钟
        sleep(2);
        //将第二步中JS脚本拼接成一个字符串存放在String类型的js变量中
        String js = "var xpath = \"//input[@type='date']\";" +
                "var res = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null);" +
                "var e1 = res.iterateNext();" +
                "var e2 = res.iterateNext();" +
                "e1.removeAttribute(\"readonly\");" +
                "e1.value = \"2018-10-01\";" +
                "e2.removeAttribute(\"readonly\");" +
                "e2.value=\"2018-10-07\";";
        //强制类型转换,把driver强制转换为可以执行js代码的driver
        JavascriptExecutor jsDriver = (JavascriptExecutor)driver;
        //使用executeScript()方法执行js代码
        jsDriver.executeScript(js);
        //线程休息2秒钟
        sleep(2);
    }
上一篇下一篇

猜你喜欢

热点阅读