您的位置:首页 > 编程语言 > Java开发

selenium2java一个用自定义方法写的测试用例

2017-04-20 17:26 417 查看
本人在学习selenium2java的时候,仿照UiAutomator的思路,把每一步操作都写成一个方法,这样对于代码的可读性和后期维护减少了很多工作量。分享出来供大家参考。

//发放代金券测试
public static void VoucherDistribute(WebDriver driver) throws InterruptedException {
login(driver);
findElementByIdAndClick(driver, "btn-sale");//点击销售
findElementByIdAndClick(driver, "btn-voucher-distribute");//点击发放代金券
findElementByIdAndClearSendkeys(driver, "inputSearchPhone", "13120454218");//输入手机号
findElementByIdAndClick(driver, "buttonSearchPhone");//点击手机搜索
sleep(1);
int num = getNumByXpath(driver, ".//*[@id='gtTableContainer']/div/table/tbody/tr/td[8]/a");//获取代金券个数
findElementByXpathAndClick(driver, ".//*[@id='gtTableContainer']/div/table/tbody/tr/td[11]/button");//点击发放代金券
clickByjsByxpath(driver, ".//*[@id='choice-container-voucher_distribute']/div[10]/div/label/i");//点击最后200元代金券
findElementByIdAndClick(driver, "btn-ok-voucher_distribute");//点击确定
findElementByXpathAndClick(driver, "html/body/div[6]/div[7]/button");//点击退出
refresh(driver);//刷新
findElementByIdAndClearSendkeys(driver, "inputSearchPhone", "13120454218");//输入手机号
findElementByIdAndClick(driver, "buttonSearchPhone");//点击手机搜索
sleep(1);
int newnum = getNumByXpath(driver, ".//*[@id='gtTableContainer']/div/table/tbody/tr/td[8]/a");//获取代金券个数
assertEquals("发放代金券失败!", (num+1), newnum);
}此外还可以用mysql类去数据库检查一遍,实现起来也挺方便的,以后再写啦。
//登录
public static void login(WebDriver driver) {
findElementByIdAndClearSendkeys(driver, "textUsername", username);//输入帐号
findElementByIdAndClearSendkeys(driver, "textPassword", password);//输入密码
findElementByXpathAndClick(driver, ".//*[@id='loginContainer']/form/div[5]/div/input");//点击登录
}
//获取数量
public static int getNumByXpath(WebDriver driver, String xpath) {
String num = getTextByXpath(driver, xpath);
return changeStringToInt(num);
}

public static String getTextByXpath(WebDriver driver, String xpath) {
return findElementByXpath(driver, xpath).getText();
}
public static WebElement findElementByXpath(WebDriver driver ,String xpath) {
return driver.findElement(By.xpath(xpath));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息