使用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的方法里也可以,但是不太规范。

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