场景:为了检查数据是否存在,如果存在就把数据删除,不存在则新增保存。因为我们需要做下数据初始化准备工作。
一、:Feature 示例:
1 Scenario: E-251:维护薪资帐套明细 2 When I click on menu 薪酬管理>薪资相关设定>薪资套帐管理 from HCM page 3 When I try to delete 南昌分公司 Pay account set if exist 4 Then add PayTerms 5 |薪资帐套 | 中文描述 |英文描述 | 6 | 9 | 南昌分公司 |NanChang | 7 When I click on menu 薪酬管理>数据准备>薪资套帐管理 from HCM page 8 Then verify PayTerms 南昌分公司 9 When I click on menu 薪酬管理>薪资相关设定>帐套明细设定 from HCM page 10 Then select Pay Account detail setting for 南昌分公司 11 | 开始时间 | 结束时间 | 12 | 2018-01-01 | 2018-12-31 | 13 Then add Pay cycle details 14 | 年 | 月 | 开始时间 | 结束时间 | 15 | 2018 | 1 | 2018-01-01 | 2018-12-31 | 16 Then create Pay cycle details 17 | 开始时间 | 结束时间 | 18 | 2018-01-01 | 2018-12-31 | 19 Then verify Pay cycle details for 南昌分公司 contians Month 12
二、Step 示例:
1 @When("^I try to delete (.+) Pay account set if exist$") 2 public void i_try_to_delete_Pay_account_set_if_exist(String condition) throws Throwable { 3 if(pr.isPayAccountThere(condition)) { 4 pr.deletePayTerms(condition); 5 } 6 }
三、Page 示例:
1 /** 2 * 薪资账套设定菜单的xpath 3 * @param condition 4 * @return 5 */ 6 public String getTrXpathByTotalItemCode(String condition) { 7 return ".//tr[./td[text()='"+ condition +"']]/td[2]" ; 8 } 9 10 /** 11 * 判断薪资账套是否存在, 12 * @param condition 薪资账套名称 13 * @return 14 */ 15 public boolean isPayAccountThere(String condition) { 16 try { 17 waitForVisible(By.xpath(getTrXpathByTotalItemCode(condition))); 18 return true; 19 } catch (Exception e) { 20 return false; 21 } 22 }