您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium自動化測試入門
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2016/11/29 15:16:48 ] 推薦標(biāo)簽:自動化測試 Selenium

  1、下載安裝Firefox-selenium插件

  2、集成Eclipse
  集成Eclipse非常簡單,加載進(jìn)去jar包OK!
  3、通過Selenium IDE 錄制腳本

    { 點這里開始錄制!}

  以上操作是:百度輸入hao123,點擊搜索。

  4、錄制完畢導(dǎo)出selenium-java腳本

  模板:
  import org.openqa.selenium.By; 
  import org.openqa.selenium.WebDriver; 
  import org.openqa.selenium.firefox.FirefoxDriver; 
  public class OpenTest { 
  /**
  * @param args
  */ 
  public static void main(String[] args) { 
  // TODO Auto-generated method stub 
  //設(shè)置瀏覽器driver 
  System.setProperty("webdriver.firefox.bin", "E:/Program Files/Mozilla firefox/firefox.exe");
  WebDriver driver; 
  driver=new FirefoxDriver();   
  //打開百度的首頁 
  driver.get("http://www.baidu.com"); 
  driver.findElement(By.linkText("hao123")).click();        
  //關(guān)閉瀏覽器 
  //driver.close();        
  }  
  }
  
  5、啟動不同瀏覽器
  Firefox:
  System.setProperty("webdriver.firefox.bin", "E:/Program Files/Mozilla firefox/firefox.exe");
  IE:
  System.setProperty("webdriver.ie.driver", "C:/liuluanqi/IEDriverServer.exe"); 這個應(yīng)該也可以 試試
  
  //Create a newinstance of the Internet Explorer driver
  WebDriver driver = newInternetExplorerDriver ();
  or
  //path to ur IEDriver exe
  public static String IEDriver_64 = "C:/IEDriverServer.exe";
  System.setProperty("webdriver.ie.driver", IEDriver);
  driver = new InternetExplorerDriver();
  
  Chrome:
  
  System.setProperty(“webdriver.chrome.driver”, bsPath);
  WebDriverdriver = new ChromeDriver();
  or
  //location of your chrome driver exe
  public static String ChromeDriver = "C:/selenium/gtn_fht/lib/chromedriver.exe";
  System.setProperty("webdriver.chrome.driver", ChromeDriver);
  // driver.manage().window().maximize() for Chrome driver throws
  // org.openqa.selenium.WebDriverException: Maximize automation interface is not supported for this version of Chrome.
  // so using the below capabilities
  DesiredCapabilities capabilities = DesiredCapabilities.chrome();
  capabilities.setCapability("chrome.switches", Arrays.asList("--start-maximized"));
  driver = new org.openqa.selenium.chrome.ChromeDriver(capabilities);
  
  6、元素操作
  
  查找元素
  使用操作如何找到頁面元素Webdriver的findElement方法可以用來找到頁面的某個元素,常用的方法是用id和name查找。下面介紹幾種比較常用的方法。
  By ID假設(shè)頁面寫成這樣:
  <input type=”text” name=”userName”  id=”user” />
  那么可以這樣找到頁面的元素:
  通過id查找:
  WebElement element = driver.findElement(By.id(“user”));
  By Name或通過name查找:
  WebElement element = driver.findElement(By.name(“userName”));
  By XPATH或通過xpath查找:
  WebElement element =driver.findElement(By.xpath(“//input[@id='user']“));
  By Class Name假設(shè)頁面寫成這樣:
  <div class=”top”><span>Head</span></div><divclass=”top”><span>HeadName</span></div>
  可以通過這樣查找頁面元素:
  List<WebElement>top= driver.findElements(By.className(“top”));
  By Link Text假設(shè)頁面元素寫成這樣:
  <a href=”http://www.baidu.com”>baidu</a>>
  那么可以通過這樣查找:
  WebElement baidu=driver.findElement(By.linkText(“baidu”));
  輸入框傳值
  輸入框(text field or textarea)   找到輸入框元素:
  WebElement element = driver.findElement(By.id(“passwd-id”));
  在輸入框中輸入內(nèi)容:
  element.sendKeys(“test”);
  將輸入框清空:
  element.clear();
  獲取輸入框的文本內(nèi)容:
  element.getText();
  下拉菜單
  下拉選擇框(Select)找到下拉選擇框的元素:
  Select select = new Select(driver.findElement(By.id(“select”)));
  選擇對應(yīng)的選擇項:select.selectByVisibleText(“testName”);
  或
  select.selectByValue(“name”);
  不選擇對應(yīng)的選擇項:
  select.deselectAll();
  select.deselectByValue(“name”);
  select.deselectByVisibleText(“姓名”);
  或者獲取選擇項的值:
  select.getAllSelectedOptions();
  select.getFirstSelectedOption();
  單選框
  單選項(Radio Button)找到單選框元素:
  WebElement sex=driver.findElement(By.id(“sex”));
  選擇某個單選項:
  sex.click();
  清空某個單選項:
  sex.clear();
  判斷某個單選項是否已經(jīng)被選擇:
  sex.isSelected();
  復(fù)選框
  多選項(checkbox)多選項的操作和單選的差不多:
  WebElement area =driver.findElement(By.id(“area .”));
  area .click();
  area .clear();
  area .isSelected();
  area .isEnabled();
  按鈕
  按鈕(button)找到按鈕元素:
  WebElement saveButton = driver.findElement(By.id(“save”));
  點擊按鈕:
  saveButton.click();
  判斷按鈕是否enable:
  saveButton.isEnabled ();
  左右選擇框也是左邊是可供選擇項,選擇后移動到右邊的框中,反之亦然。例如:
  Select name= new Select(driver.findElement(By.id(“name”)));
  name.selectByVisibleText(“hellen”);
  WebElement addName=driver.findElement(By.id(“addButton”));
  addName.click();
  彈出框
  彈出對話框(Popup dialogs)Alert alert = driver.switchTo().alert();
  alert.accept();
  alert.dismiss();
  alert.getText();
  表單提交
  表單(Form)Form中的元素的操作和其它的元素操作一樣,對元素操作完成后對表單的提交可以:
  WebElement sub= driver.findElement(By.id(“sub”));
  sub.click();
  或
  sub.submit();//只適合于表單的提交
  上傳附件
  上傳文件 (Upload File)上傳文件的元素操作:
  WebElement picFile = driver.findElement(By.id(“picFile ”));
  String filePath = “d:\report\600x600x0.jpg”;
  picFile .sendKeys(filePath);
  多窗口切換
  Windows 或 Frames之間的切換
  首先切換到默認(rèn)的frame
  driver.switchTo().defaultContent();
  切換到某個frame:
  driver.switchTo().frame(“leftFrame”);
  從一個frame切換到另一個frame:
  driver.switchTo().frame(“mainFrame”);
  切換到某個window:
  driver.switchTo().window(“windowName”);
  導(dǎo)航
  導(dǎo)航 (Navigationand History)打開一個新的頁面:
  driver.navigate().to(“http://www.baidu.com”);
  通過歷史導(dǎo)航返回原頁面:
  driver.navigate().forward();
  driver.navigate().back();
  
  敏捷測試團隊,不再僅僅是在coding之后。而是和研發(fā)人員貫穿在需求分析、規(guī)格說明、自動化單元測試、自動化驗收測試、靜態(tài)代碼分析、技術(shù)債等環(huán)節(jié)中。所以敏捷項目必定在將來效率的趨勢下成為主流。

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