《手把手教你》系列技巧篇(三十七)-java+ selenium自動化測試-日歷時間控件-上篇(詳解教程)


1.簡介

  我們在實際工作中,有可能遇到有些web產品,網頁上有一些時間選擇,然后支持按照不同時間段范圍去篩選數據。網頁上日歷控件一般,是一個文本輸入框,鼠標點擊,就會彈出日歷界面,可以選擇具體日期。這一篇,宏哥就來介紹一下日歷控件是如何用selenium實現自動化。

2.JQueryUI網站

2.1被測網址

1.被測網址的地址:

 https://jqueryui.com/resources/demos/checkboxradio/default.html

2.網頁如下圖:

3.思路一

宏哥這里提供兩種思路,第一種:比較簡單將其看作是文本輸入框,直接按照日期格式輸入就可以了(馬上光棍節了,宏哥直接輸入21年的光棍節)。

3.1代碼設計

 根據第一種思路進行代碼設計如下圖所示:

3.2參考代碼

package lessons;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author 北京-宏哥
 * 
 * 《手把手教你》系列技巧篇(三十七)-java+ selenium自動化測試-日歷時間控件(詳解教程)
 *
 * 2021年10月31日
 */
public class calendar {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver",".\\Tools\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        try {
            driver.manage().window().maximize(); // 最大化窗口

            Thread.sleep(3000);

            driver.manage().window().maximize(); // 最大化窗口

            Thread.sleep(3000);

            driver.get("http://jqueryui.com/resources/demos/datepicker/default.html");

            Thread.sleep(5000);

            driver.findElement(By.id("datepicker")).sendKeys("11/11/2021");

            Thread.sleep(5000);

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            driver.quit();

        }
    }

}

3.3運行代碼

1.運行代碼,右鍵Run AS->java Application,控制台輸出,如下圖所示:

2.運行代碼后電腦端的瀏覽器的動作,如下小視頻所示:

4.思路二

第二種:通過元素定位,和手工操作一樣,將日期一步一步選擇點擊出來。

4.1代碼設計

 根據第二種思路進行代碼設計如下圖所示:

4.2參考代碼

package lessons;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author 北京-宏哥
 * 
 * 《手把手教你》系列技巧篇(三十七)-java+ selenium自動化測試-日歷時間控件(詳解教程)
 *
 * 2021年10月31日
 */
public class calendar {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver",".\\Tools\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        try
        {
             driver.manage().window().maximize();         //最大化窗口
 
             driver.get("http://jqueryui.com/resources/demos/datepicker/default.html");  
            
             Thread.sleep(2000);
             
             driver.findElement(By.id("datepicker")).click();
             
             Thread.sleep(8000);
             
             // 點擊下一個月
             driver.findElement(By.xpath("//*[@id='ui-datepicker-div']/div/a[@data-handler='next']")).click();
             
             Thread.sleep(8000);
             
             // xpath定義第二行第五個元素,可能每個月排序不一樣,所以不一定點擊的就是11日(2021-11-11)
             driver.findElement(By.xpath("//*[@id='ui-datepicker-div']/table/tbody/tr[2]/td[5]/a")).click();
             
             Thread.sleep(5000);
             
             System.out.println("光棍節快樂!");   
             
        }catch (Exception e){
            e.printStackTrace();
        }finally{
            driver.quit();
        }
    }

}

4.3運行代碼

1.運行代碼,右鍵Run AS->java Application,控制台輸出,如下圖所示:

2.運行代碼后電腦端的瀏覽器的動作,如下小視頻所示:

5.小結

   好了,今天時間不早了,日歷控件上篇先介紹講解到這里,后邊還有一篇,感謝您耐心的閱讀!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM