初學自動化測試工具Selenium
前言
Selenium是一個用于Web應用程序測試的工具,測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。因此使用Selenium則可以實現模擬真實用戶測試web應用程序。
如何使用
從上面可以看到Selenium是用來測試web應用程序的,那么自然離不開瀏覽器。那么下面看看使用的步驟:
選擇瀏覽器
對于IE瀏覽器和Chrome瀏覽器都需要下載driver。由于墻過于堅實,此處可提供chromedriver的一個下載地址
firefox只需指定firefox.exe的路徑
添加maven依賴組件
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.42.2</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>2.42.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency>
當然本文是以選擇Chrome瀏覽器為例,如果你選擇其他瀏覽器的話則需要添加其他瀏覽器的driver 包,例如selenium-firefox-driver 和selenium-ie-driver
創建一個用例
此處用Unit Test作為啟動selenium的程序,同時也表示一個case。
-
對于Chrome瀏覽器在執行case之前必須指定chromedriver.exe的路徑
System.setProperty("webdriver.chrome.driver", "D:\\tool\\chromedriver.exe");
-
創建一個case
創建WebDriver實例
WebDriver webDriver = new WebDriver();
指定url地址
webDriver.get("http://zhangjun817.duapp.com");
為了防止程序啟動瀏覽器時響應超時,設置請求超時時間,此處以秒為單位
WebDriverWait wait = new WebDriverWait(webDriver, 5);
接下來就可以調用webdriver里的findElement方法選擇頁面元素了,個人覺的這個方法跟js里的document.getElementBy方法很相似。唯一的區別是需要給與傳的參數為特定的類By對象,例如:
//通過文字查找元素,并觸發單擊事件 webDriver.findElement(By.linkText("Sign in")).click(); //通過元素name查找元素并填充數據 webDriver.findElement(By.name("username")).sendKeys("harry.zhang@buglife.cn"); webDriver.findElement(By.name("password")).sendKeys("buglife.cn"); //通過Id查找元素 webDriver.findElement(By.id("login")).click(); //通過class屬性值查找元素 webDriver.findElement(By.className("glyphicon-log-out")).click();
當然也可以通過webDriver.findElements查詢多個元素,此處不再一一列舉,關于webdriver的方法可查看源碼。
Demo示例
可訪問源碼地址
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!