《手把手教你》系列技巧篇(四十)-java+ selenium自動化測試-JavaScript的調用執行-下篇(詳解教程)
- 2021 年 11 月 10 日
- 筆記
- java+selenium自動化測試
1.簡介
在實際工作中,我們需要對處理的元素進行高亮顯示,或者有時候為了看清楚做跟蹤滑鼠點擊了哪些元素需要標記出來。今天宏哥就在這裡把這種測試場景講解和分享一下。
2.用法
創建一個執行 JS 的對象,也就是 JavascriptExecutor 對象,這個對象是由 driver 進行強制類型轉換而來,即JavascriptExecutor js= (JavascriptExecutor)driver;然後這個對象 js 就可以調用 executeScript 方法來執行一段 JS,這段 JS 的語句是以一段字元串的形式給傳參到 executeScript 中去的。
//執行方式 JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; jsExecutor.executeScript("js程式碼");
3.場景三
利用JS處理元素高亮顯示。其實這個前邊在程式碼中也有實現過,只不過沒有提到可能沒有注意或者看到過,宏哥在這裡就講解一下。
4.實際案例(場景三)
4.1程式碼設計
4.2參考程式碼
/** * */ package lessons; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * 《手把手教你》系列技巧篇(四十)-java+ selenium自動化測試-JavaScript的調用執行-下篇(詳解教程) * * 2021年11月5日 */ public class AddColor { public static void main(String[] args) throws Exception { System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); driver.get("//www.baidu.com/"); Thread.sleep(2000); // 點擊登錄 driver.findElement(By.xpath("//*[@id='u1']/a")).click(); Thread.sleep(500); WebElement username = driver.findElement(By.id("TANGRAM__PSP_11__userName")); // 創建一個JavascriptExecutor對象 JavascriptExecutor js= (JavascriptExecutor)driver; username.sendKeys("abcdefg"); // 設置顏色 js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');",username); WebElement password = driver.findElement(By.id("TANGRAM__PSP_11__password")); js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');",password); WebElement submit = driver.findElement(By.id("TANGRAM__PSP_11__submit")); js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');",submit); } }
4.3運行程式碼
1.運行程式碼,右鍵Run AS->Java Appliance,控制台輸出,如下圖所示:
2.運行程式碼後電腦端的瀏覽器的動作,如下小影片所示:
5.小結
這種辦法可以幫你清楚的看到那些功能執行了,那些沒有執行,不方便的前期需要編寫程式碼添加顏色。對滑鼠都點擊走過的路線進行一個追蹤。好了,時間不早了,今天就分享和講解到這裡,感謝大家耐心的閱讀,喜歡宏哥的,別忘記在文章末尾支援一下。