TestNG第一課洞难,環(huán)境搭建

要想使用TestNG做自動化測試橡疼,首先要學會搭建環(huán)境援所。從網(wǎng)絡上看了一下,基本上是使用eclipse+TestNG進行測試的欣除。
1.首先去eclipse官網(wǎng)下載一個eclipse
2.去官網(wǎng)dowmload一個TestNG插件住拭,這個工作在eclipse內完成,點擊help->install new software , 輸入 http://beust.com/eclipse历帚。如圖2.1所示滔岳。

image.png

圖2.1 TestNG插件安裝
選擇TestNG,點擊next,直到finish。TestNG就安裝成功了挽牢。
3.所需包(前期剛學習時可以從官網(wǎng)下載谱煤,后期可以直接用管理工具進行配置自動加載)
image.png

4.新建工程
新建一個java proiect 取一個合適的名字,如Test.并將上面的包附加到工程中


image.png

5.在工程中創(chuàng)建testng測試用例禽拔。右鍵單擊test工程的src文件夾刘离,選擇new->other->TestNG->TestNG class


image.png

6.輸入對應的內容,finish.
image.png

7.首先寫一段基礎代碼,能跑起來說明我們的環(huán)境沒有問題奏赘。

public class HelloWorld {
@Test
public void f() throws Exception {
System.out.println("hello world");
}

@BeforeTest
public void beforeTest() {
System.out.println("hellobefore");
}

@AfterTest
public void afterTest() {
System.out.println("helloafter");
}
}
8.接下來寥闪,使用webdriver+TestNG測試用例檢測太惠,我們使用webdriver打開百度頁面磨淌,然后可以根據(jù)我們的需要,做一些操作凿渊。具體代碼如下:
public class HelloWorld {
@Test
public void f() throws Exception {
System.out.println("創(chuàng)建瀏覽器并打開百度");
// 創(chuàng)建一個 瀏覽器實例
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com");
Thread.sleep(5000);
driver.quit();
}

@BeforeTest
public void beforeTest() {
System.out.println("hellobefore");
}

@AfterTest
public void afterTest() {
System.out.println("helloafter");
}
}
在此說一下我遇到的問題:
WebDriver driver = new ChromeDriver(); //不同的瀏覽器需要不同的驅動來實現(xiàn)梁只,此處是谷歌瀏覽器
WebDriver driver = new FirefoxDriver();//此處是火狐瀏覽器

當我切換為谷歌瀏覽器的時候,運行這段代碼遇到了以下錯誤:
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
at com.google.common.base.Preconditions.checkState(Preconditions.java:847)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:125)
at org.openqa.selenium.chrome.ChromeDriverService.access000(ChromeDriverService.java:35) at org.openqa.selenium.chrome.ChromeDriverServiceBuilder.findDefaultExecutable(ChromeDriverService.java:156)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:346)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:91)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at TestClass.HelloWorld.f(HelloWorld.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
最終發(fā)現(xiàn)是因為谷歌瀏覽器需要相應的驅動埃脏。而火狐瀏覽器自帶驅動搪锣。下載驅動之后,在代碼中加入:
System.setProperty(
"webdriver.chrome.driver",
"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe");
運行即可彩掐。
谷歌瀏覽器驅動下載地址:http://chromedriver.storage.googleapis.com/index.html
谷歌瀏覽器最終運行代碼:
public class HelloWorld {
@Test
public void f() throws Exception {
System.out.println("創(chuàng)建瀏覽器并打開百度");
// 設置 chrome 的路徑
System.setProperty(
"webdriver.chrome.driver",
"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe");
// 創(chuàng)建一個 Chrome 的瀏覽器實例
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
Thread.sleep(5000);
driver.quit();
}

@BeforeTest
public void beforeTest() {
System.out.println("hellobefore");
}

@AfterTest
public void afterTest() {
System.out.println("helloafter");
}
}
運行起來啦~


image.png

還要注意運行時可能會被防火墻攔截而超時构舟,連接不上,關閉防火墻即可堵幽。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末狗超,一起剝皮案震驚了整個濱河市弹澎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌努咐,老刑警劉巖苦蒿,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渗稍,居然都是意外死亡佩迟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門竿屹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來报强,“玉大人,你說我怎么就攤上這事羔沙√衫裕” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵扼雏,是天一觀的道長坚嗜。 經(jīng)常有香客問我,道長诗充,這世上最難降的妖魔是什么苍蔬? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蝴蜓,結果婚禮上碟绑,老公的妹妹穿的比我還像新娘。我一直安慰自己茎匠,他們只是感情好格仲,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诵冒,像睡著了一般凯肋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汽馋,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天侮东,我揣著相機與錄音,去河邊找鬼豹芯。 笑死悄雅,一個胖子當著我的面吹牛,可吹牛的內容都是我干的铁蹈。 我是一名探鬼主播宽闲,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了容诬?” 一聲冷哼從身側響起围辙,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎放案,沒想到半個月后姚建,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡吱殉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年掸冤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片友雳。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡稿湿,死狀恐怖,靈堂內的尸體忽然破棺而出押赊,到底是詐尸還是另有隱情饺藤,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布流礁,位于F島的核電站涕俗,受9級特大地震影響,放射性物質發(fā)生泄漏神帅。R本人自食惡果不足惜再姑,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望找御。 院中可真熱鬧元镀,春花似錦、人聲如沸霎桅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滔驶。三九已至遇革,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓜浸,已是汗流浹背澳淑。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工比原, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留插佛,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓量窘,卻偏偏與公主長得像雇寇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355