使用Webdriver+TestNG,設置FireFox安裝路徑。

最近學習使用TestNG寫測試腳本,仿照的是乙醇的腳本,由於火狐沒有裝到默認路徑,運行時總是報找不到路徑的錯誤。QQ羣裏問了半天也沒人回答,只好自己倒騰,最終調試通過的代碼如下。

package com.testgoogle;

import org.testng.Assert;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.*;


public class GoogleTest {
	WebDriver driver;
	
	@BeforeTest
	public void setup(){
		System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
	}
	
	@Parameters({"browser"})
	@BeforeTest
	public void setupBrowser(String browser){
		if (browser.equals("firefox")){
			driver = new FirefoxDriver();
		} else {
			driver = new ChromeDriver();
		}  
	}  

	@Parameters({ "url", "keyword" })
	@Test
	public void search(String url, String keyword) {       
		driver.get(url);
		WebElement element = driver.findElement(By.name("q"));
		element.sendKeys(keyword);
		element.submit();
		Assert.assertTrue(driver.getTitle().contains(keyword), "Title is  wrong!");       
     	}  
	}
調試過程中發現system.setproperty()必須放在@BeforeTest的一個方法裏,不能直接貼代碼也不能放在@BeforeClass之類的位置。當然放在@Test的方法裏也可以,但是不太規範。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章