WebDriver使用Actions對象模擬鼠標鍵盤操作

jopen 11年前發布 | 68K 次閱讀 Selenium 測試工具 webdriver

模擬雙擊操作

1. 模擬雙擊一個div,驗證點擊之前的字體為14號

2. 點擊后字體為20號

Actions builder = new Actions(driver); //new 出Actions對象

builder.doubleClick(message).build().perform(); //對象后可以跟一系列的操作,要通過跟著build().perform()才能執行

    package com.example.tests;  
    import static org.junit.Assert.*;  
    import org.junit.*;  
    import org.openqa.selenium.*;  
    import org.openqa.selenium.firefox.FirefoxDriver;  
    import org.openqa.selenium.interactions.Actions;  
    public class Selenium2 {  
        WebDriver driver = new FirefoxDriver();  
        @Test  
        public void tableTest() {  
            driver.get("D:\\demo\\DoubleClickDemo.html");  
            WebElement message = driver.findElement(By.id("message"));  
            //  驗證初始字體為14px  
            assertEquals("14px", message.getCssValue("font-size"));  
            Actions builder = new Actions(driver);  
            builder.doubleClick(message).build().perform();  
            //  驗證點擊后字體變為20px  
            assertEquals("20px", message.getCssValue("font-size"));  
            driver.close();  
        }  
    }  

模擬拖拽操作

使用dragAndDrop(source,targe)方法

    package com.example.tests;  
    import static org.junit.Assert.*;  
    import org.junit.*;  
    import org.openqa.selenium.*;  
    import org.openqa.selenium.ie.InternetExplorerDriver;  
    import org.openqa.selenium.interactions.Actions;  
    public class Selenium2 {  
        @Test  
        public void testDragDrop() {  
            WebDriver driver = new InternetExplorerDriver();  
            driver.get("D:\\demo\\DragAndDrop.html");  
            WebElement source = driver.findElement(By.id("draggable"));  
            WebElement target = driver.findElement(By.id("droppable"));  
            Actions builder = new Actions(driver);  
            builder.dragAndDrop(source, target).perform();  
            try {  
                assertEquals("Dropped!", target.getText());  
            } catch (Error e) {  
                e.printStackTrace();  
            }finally{  
                driver.close();  
            }     
        }  
    }  

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!