您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium的基本使用
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2014/4/24 10:40:20 ] 推薦標簽:Selenium

  7.通過Css進行定位(Cascading Style Sheets)
css=form#loginForm
css=input[name="username"]
css=input.required[type="text"]
css=input.passfield
css=#loginForm input[type="button"]
css=#loginForm input:nth-child(2)
  二、Selenium錯誤現(xiàn)場保存方法(截屏和記錄日志)
  知曉了如何定位元素,我們可以觸發(fā)頁面上相應的BOM事件了。
  那么當執(zhí)行頁面響應的自動化操作的時候發(fā)生了錯誤我們應該怎樣才能更好的記錄相應的錯誤呢?記錄Log日志和保存相應的屏幕錯誤信息。
  1.首先記錄log日志,可使用為java量身定做的log4j進行日志記錄(我的另外一篇Log4j如何實現(xiàn)日志分模塊,分天,分錯誤級別進行記錄)
  2.截取錯誤發(fā)生時的屏幕,這樣可以很快的定位錯誤發(fā)生前的操作和錯誤發(fā)生時的錯誤信息了。
  分享一段執(zhí)行截屏的java代碼。
/*截屏操作,遇到錯誤自動截屏存儲到指定位置。
* 指定保存的路徑,然后通過 TakesScreenshot 的 getScreenshotAs進行截屏操作。
* WebElement 繼承 TakesScreenshot 這個大能耐焊好的基于了瀏覽器,返回當前的狀態(tài)
*  ——整個當前的HTML元素內(nèi)容
*  ——可視化部分的HTML元素
* */
public static void captureScreenshot(String arg0,WebDriver driver){
if(PrivateDataSource.Debug){
logger.debug("調(diào)試截圖功能,并把截圖存儲到:"+PrivateDataSource.screenshotsResultsPath);
}
String screenshotsResultsPath=PrivateDataSource.screenshotsResultsPath;
String imagePath = screenshotsResultsPath + File.separator+arg0+"_"
+arg0+".png";
File screenShotFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
org.apache.commons.io.FileUtils.copyFile(screenShotFile, new File(imagePath));
} catch (IOException e) {
e.printStackTrace();
if(PrivateDataSource.DebugError){
logger.info( logger.getClass().getName()+" selenium輸出截圖功能失敗。以下是錯誤信息!");
logger.error(e.getStackTrace());
}
}
}
  三、Selenium瀏覽器兼容性測試
  1.向瀏覽器注入一段可執(zhí)行的JavaScript腳本
  在很多情況下我們需要程序觸發(fā)一段JavaScript腳本,首先我們需要注冊相應的JavaScript到瀏覽器中然后觸發(fā)執(zhí)行。
  WebElement ele = driver.findElement(By.id("SubMenu7").xpath("//table/tbody/tr[9]"));//定位Web頁面的元素
  //((JavascriptExecutor)driver).executeScript("arguments[0].onclick=function(){alert('js has been execute!');}", ele);//為這個元素添加可執(zhí)行的js
  ((JavascriptExecutor)driver).executeScript("arguments[0].onclick=function(){SelectMenu(this,'AirLineSeasonManage.aspx?TimeStamp=' + TimeStamp());}", ele);//為這個元素添加可執(zhí)行的js
  ele.click();
  以上代碼首先找到相應的元素
  然后向相應的元素里面注入一段可執(zhí)行腳本
  后點擊該元素執(zhí)行這個JavaScript腳本。
  2.IE瀏覽器運行注意點
  首先需要下載一個IEDriverServer.exe工具然后放置在任意位置,記錄相應的存放path
  設置瀏覽器啟動路徑System.setProperty("webdriver.ie.driver", "存放IEDriverServer.exe的path");
  啟動程序開始執(zhí)行
  3.Chrome瀏覽器運行注意點
  首先需要下載一個chromedriver.exe模擬Chrome瀏覽器的工具,放在任意位置,記錄相應的存放path
  設置瀏覽器啟動路徑System.setProperty("webdriver.chrome.driver", "存放chromedriver.exe的path");
  啟動程序開始執(zhí)行
  4.FireFox瀏覽器中運行注意點
  直接安裝了FireFox瀏覽器,并且Selenium對FireFox有非常好的支持,所以不需要下載其余的模擬器進行執(zhí)行驗證。
  如果你的FireFox沒有默認安裝,即改變了默認的安裝路徑需要設定運行變量,不然FireFox不會被正常啟動的。
  System.setProperty("webdriver.firefox.bin", "FireFox的安裝路徑");
  啟動程序開始執(zhí)行

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