目錄html
第一步 安裝JDKjava
下載地址chrome
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/安全
一、下載步驟:服務器
二、配置環境變量:oracle
JAVA_HOME = E:\Java\Java\jdk1.7.0_15app
PATH = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bineclipse
CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
注:上面這行的「.」不能忽略掉了。
三、驗證是否安裝成功:
下載地址:http://www.eclipse.org/downloads/
第1種方法:直接安裝 Help->Install New Software
最後重啓eclipse.
第2種方法:離線安裝
1.下載附件(eclipse-testng離線包.zip),並解壓;
2.將解壓後的文件..\eclipse-testng離線包\features\目錄下的文件夾org.testng.eclipse_6.8.6.20130607_0745放到eclipse--》features目錄下;
3.將解壓後的文件..\eclipse-testng離線包\org.testng.eclipse_6.8.6.20130607_0745文件夾放到eclipse--》plugins目錄下;
4.重啓eclipse.
驗證方法:file-->new-->other-->TestNg
下載地址:http://www.seleniumhq.org/download/
1. Selenium IDE:selenium-ide-2.5.0.xpi 用來在Firefox上錄製腳本。
2.Selenium RC:selenium-server-standalone-2.40.0.jar 模擬服務器端,selenium 1.0執行腳本時須要單獨啓動該jar包, selenium webdriver無需單獨啓動。
3.IEDriverServer:IEDriverServer_Win32_2.40.0.zip IE驅動
這裏,將下載獲得的全部文件,全存放在d:\xxx\selenium下面,方便管理:
下載地址:http://www.firefox.com.cn/download/
安裝完Firefox後,打開Firefox:
一、安裝Selenium IDE:
把前面下載的selenium-ide-2.5.0xpi拖放到Firefox,彈出下圖後,安裝便可。
二、安裝firebug:工具-->附加組件,搜索firebug、Xpath,安裝,重啓火狐瀏覽器。
驗證安裝成功:
selenium 1.0須要啓動單獨rc,webdriver則不須要啓動。(具體緣由可自行百度或者參見我其餘學習筆記)
啓動seleniumRC的方法:
cmd命令行進入selenium-server-standalone-2.40.0.jar存放目錄(或者進入selenium-server-standalone-2.40.0.jar存放目錄而後在文檔路徑裏輸入cmd),而後輸入以下命令
java -jar selenium-server-standalone-2.40.0.jar
爲了方便,能夠寫一個批處理文件來執行,Run_selenium.bat,內容以下:
@echo off cd E:\eclipse\selenium E:
java -jar selenium-server-standalone-2.40.0.jar
1.新建java工程:File-->new-->other-->Java Project
輸入工程名,完成以後彈出選擇視圖模式的確認框,能夠選NO。
2.引入Selenium相關的包:
在MyTest上右鍵,Properties-->Java Build Path-->Libraries-->Add External Jars
3.新建package和class:
在src上右鍵,new->package(名稱爲:Selenium_Java)
在Selenium_Java上右鍵,new->class(名稱爲:runasjavaapplication.java):
4.用selenium webdriver寫代碼以下:
能夠打開不一樣的瀏覽器,用以開展兼容性測試。
注:用ie瀏覽器打開時會有個報錯:
解決辦法是講註釋掉的30-34行的代碼取消註釋,註釋掉36行的代碼便可(代碼中29行應爲:System.setProperty("webdriver.chrome.driver", file_chrome.getAbsolutePath()); 46行最好寫成:my_dr.get("https://www.baidu.com");)。
1 package Selenium_Java; 2
3 import java.io.File; 4
5 import org.openqa.selenium.By; 6 import org.openqa.selenium.WebDriver; 7 import org.openqa.selenium.chrome.ChromeDriver; 8 import org.openqa.selenium.firefox.FirefoxDriver; 9 import org.openqa.selenium.ie.InternetExplorerDriver; 10 import org.openqa.selenium.remote.CapabilityType; 11 import org.openqa.selenium.remote.DesiredCapabilities; 12 import org.testng.Assert; 13
14
15 /**
16 * @author : zmh 17 * @version :1.0 18 * @date :2016年03月06日 下午3:00:22 19 */
20 public class runasjavaapplication { 21
22 public static void main(String[] args) throws InterruptedException { 23
24 //-----------------------------打開火狐瀏覽器------------------------------------------------ 25 //WebDriver my_dr = new FirefoxDriver();// 打開火狐瀏覽器 原生支持的瀏覽器,可是不支持火狐高級的版本 26
27 //-----------------------------打開Chrome瀏覽器---------------------------------------------
28 File file_chrome = new File("C:/Program Files/Google/Chrome/Application/chromedriver.exe"); 29 System.setProperty("webdriver.ie.driver", file_chrome.getAbsolutePath()); 30 //WebDriver my_dr = new ChromeDriver();// 打開chrome瀏覽器 31
32 //-----------------------------打開IE瀏覽器--------------------------------------------------
33 File file_ie = new File("C:\\Program Files\\Internet Explorer\\IEDriverServer.exe"); 34 System.setProperty("webdriver.ie.driver", file_ie.getAbsolutePath()); 35
36 //爲 Internet Explorer 設置安全性功能,不然會遇到一個安全問題提示:"Protected Mode must be set to the same value (enabled or disabled) for all zones" 37 //DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); 38 //caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 39 //caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 40 //WebDriver my_dr = new InternetExplorerDriver(caps);// 打開ie瀏覽器
41
42 WebDriver my_dr = new InternetExplorerDriver();// 打開ie瀏覽器 43
44 //--------------------------------------------------------------------------------------- 45 //打開百度
46 my_dr.get("www.baidu.com"); 47
48 Thread.sleep(1000); 49 //定位到百度的輸入框
50 my_dr.findElement(By.id("kw")).sendKeys("G7物流地圖"); 51
52 Thread.sleep(1000); 53 //點擊搜索
54 my_dr.findElement(By.id("su")).click(); 55
56 Thread.sleep(1000); 57 //打印頁面標題
58 System.out.println(my_dr.getTitle()); 59 //驗證頁面標題是否符合預期
60 Assert.assertEquals(my_dr.getTitle(), "G7物流地圖_百度搜索"); 61
62 Thread.sleep(1000); 63 // 關閉全部webdriver進程,退出
64 my_dr.quit(); 65 } 66 }
5.用selenium1.0寫代碼以下:
1 package Selenium_Java; 2
3 import com.thoughtworks.selenium.DefaultSelenium; 4
5 /**
6 * @author : zmh 7 * @version :1.0 8 * @date :2016年3月6日 下午12:28:31 9 */
10 public class runasjavaapplication_selenium1 { 11 public static void main(String[] args) { 12 //建立一個selenium對象,調用DefaultSelenium的構造器,傳入參數,參數分別是:host:機器的ip地址、port:端口號、瀏覽器類型,url:要測試網站的連接
13 DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, 14 "*iexplore C:\\Program Files\\Internet Explorer\\iexplore.exe", 15 "http://www.baidu.com/"); 16
17 selenium.start(); 18 selenium.open("http://www.baidu.com"); 19 selenium.type("id=kw1", "G7物流地圖"); 20 selenium.click("id=su1"); 21 System.out.println("Page title is: " + selenium.getTitle()); 22 selenium.stop(); 23 } 24 }
上面提到的須要打開selenium rc還記得嗎?打開以後就能夠正常運行了。
1.新建testng類:在工程上右鍵,new->other->TestNG(名稱爲:runastestng.java)
建立完成後以下:
2.寫代碼:
1 package Selenium_TestNG; 2
3 import java.io.File; 4
5 import org.openqa.selenium.By; 6 import org.openqa.selenium.WebDriver; 7 import org.openqa.selenium.firefox.FirefoxDriver; 8 import org.openqa.selenium.ie.InternetExplorerDriver; 9 import org.openqa.selenium.remote.CapabilityType; 10 import org.openqa.selenium.remote.DesiredCapabilities; 11 import org.testng.Assert; 12 import org.testng.annotations.Test; 13 import org.testng.annotations.BeforeMethod; 14 import org.testng.annotations.AfterMethod; 15 import org.testng.annotations.BeforeClass; 16 import org.testng.annotations.AfterClass; 17
18 /**
19 * @author : zmh 20 * @version :1.0 21 * @date :2016年3月6日 下午12:28:31 22 */
23
24 public class runastestng { 25
26 WebDriver mydr;// 申明全局變量。。。。。
27
28 @Test 29 public void testng001() throws InterruptedException { 30 //-----------------------------打開IE瀏覽器--------------------------------------------------
31 File file_ie = new File("C:\\Program Files\\Internet Explorer\\IEDriverServer.exe"); 32 System.setProperty("webdriver.ie.driver", file_ie.getAbsolutePath()); 33
34 //爲 Internet Explorer 設置安全性功能,不然會遇到一個安全問題提示:"Protected Mode must be set to the same value (enabled or disabled) for all zones"
35 DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); 36 caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 37 caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 38 WebDriver my_dr = new InternetExplorerDriver(caps);// 打開ie瀏覽器 39 //打開百度
40 my_dr.get("www.baidu.com"); 41
42 Thread.sleep(1000); 43 //定位到百度的輸入框
44 my_dr.findElement(By.id("kw")).sendKeys("G7物流地圖"); 45 Thread.sleep(1000); 46 //點擊搜索
47 my_dr.findElement(By.id("su")).click(); 48
49 Thread.sleep(1000); 50 //打印頁面標題
51 System.out.println(my_dr.getTitle()); 52 //驗證頁面標題是否符合預期
53 Assert.assertEquals(my_dr.getTitle(), "G7物流地圖_百度搜索"); 54 Thread.sleep(5000); 55
56 } 57 @BeforeMethod 58 public void beforeMethod() { 59 //switchTo相關能夠寫在這裏
60 } 61
62 @AfterMethod 63 public void afterMethod() { 64 // 切換到主窗口、模擬刷新頁面
65 } 66
67 @BeforeClass 68 public void beforeClass() { 69 //登錄相關能夠寫在這裏
70 } 71
72 @AfterClass 73 public void afterClass() { 74 //瀏覽器關閉能夠寫在這裏
75 } 76
77 }
運行以下:
3.查看運行報告:
固然,咱們也能夠繼承IReporter類,使用監聽器,達到美化報告的目的,這個之後再另外的筆記中補充。
注:搭建環境涉及到的安裝包能夠在這裏下載,此連接永久有效(缺乏包或者分享連接失效的能夠私信我去添加和修改):
連接: https://pan.baidu.com/s/1kCvVq-KpCY-c9aOYoukjSQ 密碼: hwui