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

一、: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;
}
}

Java+Selenium 如何处理Try/Catch的更多相关文章

  1. 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)

    1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...

  2. 《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)

    1.简介 理想很丰满现实很骨感,在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就 ...

  3. 【java+selenium】网易云音乐刷累计听歌数

    背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了.当时试了下,直接一下子刷了有好几万.悲 ...

  4. java+selenium自动化实践

    git+java+selenium+testng +maven+idea 1.git之代码维护(下载.分支切换.上传) 下载命令 "git clone git@github.com:Luna ...

  5. Java+selenium自动化测试基础

    Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting.xml http://www.cnblogs.com/haoa ...

  6. Java+selenium+Firefox/ IE/ Chrome主流浏览器自动化环境搭建

    一.java+selenium+firefox 1.环境准备:JDK1.8 2.安装firefox浏览器v59 3.下载驱动:https://github.com/mozilla/geckodrive ...

  7. Java&Selenium截图方法封装

    Java&Selenium截图方法封装 package util; import org.apache.commons.io.FileUtils; import org.openqa.sele ...

  8. Java&Selenium智能等待方法封装

    Java&Selenium智能等待方法封装 ExpectedConditions方法还有很多,自然也可以继续扩展很多 package util; import org.openqa.selen ...

  9. Java&Selenium 模拟键盘方法封装

    Java&Selenium 模拟键盘方法封装 package util; import java.awt.AWTException; import java.awt.Robot; import ...

随机推荐

  1. 导出表结构sql语句

    -- C:/dba必需是已经存在的目录 -- create or replace directory UTL_DIR as 'C:\dba'; --用sys用户登录给要访问的用户指定访问目录的权限gr ...

  2. Leaflet API翻译

    转自: http://jsrookie.iteye.com/blog/2318972(上) http://jsrookie.iteye.com/blog/2318973(下) L.Map API各种类 ...

  3. phpstrom2018

    http://www.oyksoft.com/soft/40722.html?pc=1

  4. [Bayes] Latent Gaussian Process Models

    比较难理解,通过做题来入门. 目的:简单的了解下相关概念. 基础 热身 目的:找x到y的映射关系. 假设:Q latent functions {fi} fj 作为先验,跟x没什么直接关系,x只是作为 ...

  5. Eclipse设置默认的换行长度

    1. 点击Window->Preferences->Java->Code Style->Formatter 2. 点击New,给profile随意取个名字,点击OK 3. Ma ...

  6. cmd识别不了mysql命令

    问题现象:安装配置过MySQL和环境变量,当时用的好好的,过了几天再试发现cmd识别不了了: 之前maven的mvn命令也遇到过这个问题. 原因:win10中配成这个样子,重启之后会时效: 解决方法: ...

  7. Python学习笔记之--我又开始学习Python了(随时更新)

    2019.02.09 更新 Python 学习计划已经开始几天了,跟着一本叫<Django for beginner>的书籍在学习用Django搭建自己的第一个网站,目前已经进行到第三章, ...

  8. 使用ASP.NET Core的User Secrets特性

    昨天在一个集成测试项目中实际使用 ASP.NET Core 的 user secrets 保存敏感配置信息,避免了直接保存在 appsettings.json 中,在这篇随笔中记录一下. 使用 use ...

  9. Spring 嵌套方法AOP不生效问题

    问题描述, 如下Abc定义为一个Bean, b()方法添加@TargetDatasource,定义切面DynamicDataSourceAspect,期望:调用a()方法,b()方法上的AOP拦截能生 ...

  10. hdu-6415 Rikka with Nash Equilibrium dp计数题

    http://acm.hdu.edu.cn/showproblem.php?pid=6415 题意:将1~n*m填入一个n*m矩阵 问只有一个顶点的构造方案. 顶点的定义是:某数同时是本行本列的最大值 ...