selenium编写脚本_Selenium脚本编写技巧和窍门
selenium編寫腳本
如果您剛剛開始學習Selenium,則以下技巧和竅門將成為您的救星。 這些技巧和竅門具有您可能會忘記的所有基本知識,將幫助您記住所有這些。 您只需瀏覽一次,幾秒鐘后您便會了解所有內容。 讓我們一一看一下所有的技巧和竅門。
- 創建Webdriver實例的最佳方法
您可以使測試通用。 第一步是通過傳遞配置文件中的值來初始化瀏覽器。 您可以將一個鍵作為瀏覽器,并將值作為Chrome,Firefox或IE。 然后,您可以根據傳遞給瀏覽器的值來初始化瀏覽器。 讓我們看看將要涉及的代碼。在此處添加段落文本。
public static WebDriver getBrowser(String browserName) { If(driver == null) { if(browserName.equals(“firefox”)) { driver = new FirefoxDriver(); } else if(browserName.equals(“Chrome”)) { driver=new ChromeDriver(); } else if(browserName.contains(“IE”)) { driver=new InternetExplorerDriver(); } } return driver; }- 檢查元素是否存在的最佳方法
如果必須檢查Web應用程序中是否存在某個元素,則可以通過獲取Web元素的大小然后檢查它是否大于零來輕松地做到這一點。
布爾值isElementExists = driver.findElements(By.xpath(“”))。size()> 0
- 如何等待頁面完全加載?
有時,頁面需要花費一些時間來加載,因此您必須等待一段時間才能完全加載頁面。 為此,您必須首先檢查它是否正確裝入,然后可以對其進行任何其他操作。 您可以使用Javascriptexecutor檢查頁面是否完全加載。
wait.until(new Predicate < WebDriver > () {@Overridepublic Boolean waitPageLoaded(WebDriver driver) {return ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete");}});- 如何使用Selenium Webdriver 截 屏 ?
有時,在執行過程中截取屏幕截圖以了解出了什么問題非常重要。 該死的說要用Selenium來做。 您可以擁有Selenium驅動程序,然后將其強制轉換為“截屏”界面。 創建它的一個實例,然后使用它來獲取屏幕截圖。 您可以使用工具包方法.getScreenshotAs,然后可以指定期望的屏幕截圖格式。
//將屏幕快照存儲在當前項目目錄中
字符串screenShot = System.getProperty(“ user.dir”)+“ \\ screenshottest.png”;
//廣播Webdriver來截取屏幕截圖
文件srcFile =(((TakesScreenshot)驅動程序).getScreenshotAs(OutputType.FILE);
//保存屏幕截圖
FileUtils.copyFile(srcFile,new File(screenShot));
- 如何在Selenium Webdriver中 獲取Web元素HTML源 ?
Selenium WebDriver為您提供了一種名為getAttribute的方法,該方法將允許您獲取Web元素的內部HTML。 您可以通過首先獲取元素來實現。 之后,您可以使用getAttribute獲取Web元素的innerHTML。
字符串html = element.getAttribute(“ innerHTML”);
- 如何使用“選擇類”選擇下拉選項?
在Selenium中,如果遇到任何下拉菜單,則可以使用select類在其中選擇任何選項。 您可以通過多種方式選擇選項。 其中一些方法包括按文本,索引和值進行選擇。
Select drp= new Select(Driver.findElement(By.xpath(“”));drp.deselectAll();drp.selectByVisibleText("selectLabel");- 如何在 Webdriver中 刷新網頁 ?
如果要刷新頁面,則可以使用Selenium Web驅動程序的navigation()方法。 然后,您可以使用refresh()方法實際刷新頁面,以便從頭開始初始化所有元素。
driver.navigate()。refresh();
- 如何使用Selenium Webdriver 切換到新選項卡 ?
您可以使用Selenium Webdriver輕松切換到新選項卡。 首先要記住的是使用.getWindowHandles(),然后可以切換到具有所有窗口句柄的數組列表的第一個索引。
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());driver.switchTo().window(tabs.get(0));- 如何在 Webdriver中 設置驅動程序可執行路徑 ?
對于瀏覽器,chrome和ie,您必須查看驅動程序可執行文件的路徑。 要設置路徑,您必須在Selenium中使用System.setProperty方法。 讓我們看看它的外觀。
File ieDriverPath = new File("path//iexploredriver.exe");System.setProperty("webdriver.ie.driver", ieDriverPath.getAbsolutePath());WebDriver driver = new InternetExplorerDriver();- 如何切換到新的彈出窗口?
如果要切換到打開的特定窗口,則可以先getAllWindowHandles(),然后使用driver.switchTo()方法切換。
/ Get the current window handle.String hBefore = driver.getWindowHandle();// action which opens lot of windows.// Switch to new windows.for(String hNew: driver.getWindowHandles()){driver.switchTo().window(hNew);}// Close all new windows.driver.close();// Switch back to first window.driver.switchTo().window(hBefore);但是如果萬一,您想專門切換到特定窗口。 您可以獲取一個Web元素,并在特定窗口中查看它的可見性。 如果存在,則可以切換到它。
/ Get the current window handle.String hBefore = driver.getWindowHandle();// Click to open new windows.// Switch to window which has a webelement attached to itfor(String hNew: driver.getWindowHandles()){If(driver.findElements(By.xpath(“”)).size()>0){driver.switchTo().window(hNew);}}// Close all new windows.driver.close();// Switch back to first window.driver.switchTo().window(hBefore);- 如何單擊一個不可見的復選框?
在許多情況下,您想要單擊的復選框不可見,很遺憾,您無法單擊該復選框。 您必須先啟用它,然后才能實際單擊它。 如果您不啟用它,則會出現異常,例如“元素當前不可見,因此可能無法與之交互。”
可以使用Java腳本執行器啟用它,以便Selenium可以單擊它。 代碼段如下:
((JavascriptExecutor)driver).executeScript("arguments[0].checked = true;", checkbox);- 如何在Selenium Webdriver中進行鼠標懸停動作?
如果要將鼠標懸停在Web元素上,則可以使用Actions()類進行處理。 您可以依次使用函數moveToElemenet(),build()和perform()在Web元素上執行鼠標懸停操作。
Actions action = new Actions(driver);WebElement item = driver.findElement(By.xpath(""));action.moveToElement(item).moveToElement(driver.findElement(By.xpath("")) ).click().build().perform();- 如何在運行測試腳本之前刪除Cookies?
有時在運行測試腳本之前清除所有cookie是非常重要的。 您可以使用driver.manage()的DeleteAllCookies方法方法。
代碼片段如下:
this.driver.Manage()。Cookies.DeleteAllCookies();
另外,如果您有一個具有特定名稱的Cookie,則可以使用以下方法將其刪除:manage()類的DeleteCookiesNames。
this.driver.Manage()。Cookies.DeleteCookieNamed(“ CookieName”);
- 如何在測試腳本中最大化窗口?
有時,您需要以全窗口大小和分辨率測試腳本。 您可以通過使用驅動程序實例的manage()方法輕松完成此操作。 然后,您可以使用window()方法,然后使用maximum()方法將窗口放大到最大大小。
代碼段如下:
public void MaximizeWindow(){this.driver.get(“");this.driver.Manage().Window().Maximize();}因此,有一些重要的技巧可以幫助您進行Selenium測試。 如果您牢記這些,則可以在“自動化測試”中編寫腳本時解決大部分問題。 因此,使用它們可以節省您的時間。 祝一切順利!!
翻譯自: https://www.javacodegeeks.com/2019/09/selenium-scripting-tips-tricks.html
selenium編寫腳本
總結
以上是生活随笔為你收集整理的selenium编写脚本_Selenium脚本编写技巧和窍门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内联脚本被视为是有害的_数据类被认为有害
- 下一篇: 邮箱怎么开启imap(邮箱怎么开启IMA