您的位置:首页 > 产品设计 > UI/UE

[原创]Juint4 + WebDriver 搭建自动化测试框架

2013-06-07 16:31 417 查看
本例中用百度的搜索为例,将百度首页定义成一个待测试类 HomePage

public class HomePage {
private WebDriver driver;

@FindBy(how = How.NAME, using = "wd")
public static WebElement serchInputbox;

@FindBy(how = How.ID, using = "su")
public static WebElement serchBtn;

@FindBy(how = How.ID, using = "container")
public static WebElement serchResult;

public HomePage(WebDriver driver) {
this.driver = driver;
ElementLocatorFactory finder = new AjaxElementLocatorFactory(driver,
120);
PageFactory.initElements(finder, this);

}

public void enterSerchTxt(String serchTxt) {
serchInputbox.clear();
serchInputbox.sendKeys(serchTxt);
}

public void clickSerchButton() {
serchBtn.click();
}

public void checkResult() {
assertEquals(serchResult.isDisplayed(), true);
}
}


上面的构造函数中用到了 PageFactory 这个三方类,另外定义了一些待测方法(测试用例中的小步骤)
下面是对应于 HomePage 的测试类 homepageTest ,您可以在HomePage上右击新建 junit file ,选择 BeforeClass, Setup ...需要注意的是命名必须是以 Test 结尾。

public class homepageTest {
protected static WebDriver driver;

@BeforeClass
public static void beforeClass() throws Exception {
driver = new InternetExplorerDriver();
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
driver.quit();
}

@Before
public void setUp() throws Exception {
driver.get("http://www.baidu.com");
}

@After
public void tearDown() throws Exception {
}

@Test
public void testHomepage() {
HomePage homepage = new HomePage(driver);
homepage.enterSerchTxt("selenium");
homepage.clickSerchButton();
// maybe the net will delay, so wait for while
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
homepage.checkResult();
}
}


@Test 里面便是测试用例,可以有多个 @Test。
现在就可以编译下,run as --> junit test

本文采用的 iedriver ,机器是64位的,会默认启动你的64位 ie(ie8分64和32位),如果您需要启32位 ie,则需要用32位的 jar 启动 selenium sever。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: