一、
基于 Java 語言的 Selenium 環境搭建
安裝 jre+idea,創建 Java 項目
安裝 selenium:在 idea中導入如下包
selenium-java-3.9.1.zip
selenium-server-standalone-3.9.1.jar
準備瀏覽器驅動器
無需安裝,復制到某個位置(此位置需要寫到代碼中)
IEDriverServer、chromedriver(google)、geckodriver(Firefox)
webdriver.Ie()、.Chrome()、.Firefox()
使用 Selenium IDE
斷網安裝 Firefox57
選擇自定義安裝(不要選擇默認安裝),取消勾選"安裝維護服務"
安裝完成后,工具—選項—常規—firefox 更新:勾選“不檢查更新”即可,
去掉勾選“自動更新搜索引擎”
聯網安裝 SeleniumIDE
設置—附加組件—擴展—搜索 SeleniumIDE,然后安裝
二、
編寫測試腳本
1 指定瀏覽器驅動,打開瀏覽器
1.1 IE
System.setProperty("webdriver.ie.driver", "C:\\\\...\\\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
1.2 Firefox
需事先安裝對應驅動版本的瀏覽器
System.setProperty("webdriver.gecko.driver", "C:/…/geckodriver.exe");
System.setProperty("webdriver.firefox.bin","E:/Mozilla Firefox/firefox.exe");
WebDriver driver = new FirefoxDriver();
1.3 Google
System.setProperty("webdriver.chrome.driver", "C:\\\\...\\\\chromedriver.exe");
WebDriver driver = new ChromeDriver();2
關閉瀏覽器窗口
driver.close();
關閉頁面
driver.quit();
關閉頁面
關閉相關進程
3
設置等待時間
操作太快容易導致對象控件不出現,從而失敗。
隱式等待
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
隱式等待采用全部設置,所有的 findElement 方法都會隱式等待 1s
上述方法針對執行腳本的所有對象,等待 3 秒。
Thread.sleep(3000);
//ms
只需放在需要等待的位置。
打開網址
driver.get("http://localhost:1080/webtours");
driver.getTitle()
獲得瀏覽器網頁標題(字符串)
5
識別頁面元素
5.1 driver.findElement(By.屬性)
查詢符合屬性要求的第一個對象。
適用于文本框、密碼框、命令按鈕、單選按鈕。
屬性
name("值")
tagName("標簽名")
標簽即<>內的關鍵字。
xpath("//標記名\[@屬性名\='屬性值'\]")
id
className
CSS class 屬性的值
linkText
和之間的內容
partialLinkText
和之間的部分文本值