您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
自動化測試工具Selenium使用技巧
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2016/11/17 11:51:09 ] 推薦標簽:Selenium 功能測試

  前言
  Selenium是一個用于Web應用程序測試的工具,測試直接運行在瀏覽器中,像真正的用戶在操作一樣。因此使用Selenium則可以實現(xiàn)模擬真實用戶測試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
  創(chuàng)建一個用例
  此處用Unit Test作為啟動selenium的程序,同時也表示一個case。
  對于Chrome瀏覽器在執(zhí)行case之前必須指定chromedriver.exe的路徑
  System.setProperty("webdriver.chrome.driver", "D:\tool\chromedriver.exe");
  創(chuàng)建一個case
  創(chuàng)建WebDriver實例
  WebDriver webDriver = new WebDriver();
  指定url地址
  webDriver.get("http://zhangjun817.duapp.com");
  為了防止程序啟動瀏覽器時響應超時,設置請求超時時間,此處以秒為單位
  WebDriverWait wait = new WebDriverWait(webDriver, 5);
  接下來可以調(diào)用webdriver里的findElement方法選擇頁面元素了,個人覺的這個方法跟js里的document.getElementBy方法很相似。的區(qū)別是需要給與傳的參數(shù)為特定的類By對象,例如:
  //通過文字查找元素,并觸發(fā)單擊事件
  webDriver.findElement(By.linkText("Sign in")).click();
  //通過元素name查找元素并填充數(shù)據(jù)
  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查詢多個元素,此處不再一一列舉

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd