Java+Selenium 如何处理Try/Catch

场景:为了检查数据是否存在,如果存在就把数据删除,不存在则新增保存。因为我们需要做下数据初始化准备工作。

一、:Feature 示例:

 Scenario: E-251:维护薪资帐套明细
When I click on menu 薪酬管理>薪资相关设定>薪资套帐管理 from HCM page
When I try to delete 南昌分公司 Pay account set if exist
Then add PayTerms
|薪资帐套 | 中文描述 |英文描述 |
| 9 | 南昌分公司 |NanChang |
When I click on menu 薪酬管理>数据准备>薪资套帐管理 from HCM page
Then verify PayTerms 南昌分公司
When I click on menu 薪酬管理>薪资相关设定>帐套明细设定 from HCM page
Then select Pay Account detail setting for 南昌分公司
| 开始时间 | 结束时间 |
| 2018-01-01 | 2018-12-31 |
Then add Pay cycle details
| 年 | 月 | 开始时间 | 结束时间 |
| 2018 | 1 | 2018-01-01 | 2018-12-31 |
Then create Pay cycle details
| 开始时间 | 结束时间 |
| 2018-01-01 | 2018-12-31 |
Then verify Pay cycle details for 南昌分公司 contians Month 12

二、Step 示例:

 @When("^I try to delete (.+) Pay account set if exist$")
public void i_try_to_delete_Pay_account_set_if_exist(String condition) throws Throwable {
if(pr.isPayAccountThere(condition)) {
pr.deletePayTerms(condition);
}
}

三、Page 示例:

 /**
* 薪资账套设定菜单的xpath
* @param condition
* @return
*/
public String getTrXpathByTotalItemCode(String condition) {
return ".//tr[./td[text()='"+ condition +"']]/td[2]" ;
} /**
* 判断薪资账套是否存在,
* @param condition 薪资账套名称
* @return
*/
public boolean isPayAccountThere(String condition) {
try {
waitForVisible(By.xpath(getTrXpathByTotalItemCode(condition)));
return true;
} catch (Exception e) {
return false;
}
}
上一篇:【REACT NATIVE 系列教程之十二】REACT NATIVE(JS/ES)与IOS(OBJECT-C)交互通信


下一篇:c#-Visual Studio的“监视”窗口中的“非公共成员”节点中有什么内容?