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;
}
}
Java+Selenium 如何处理Try/Catch的更多相关文章
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- 《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)
1.简介 理想很丰满现实很骨感,在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就 ...
- 【java+selenium】网易云音乐刷累计听歌数
背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了.当时试了下,直接一下子刷了有好几万.悲 ...
- java+selenium自动化实践
git+java+selenium+testng +maven+idea 1.git之代码维护(下载.分支切换.上传) 下载命令 "git clone git@github.com:Luna ...
- Java+selenium自动化测试基础
Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting.xml http://www.cnblogs.com/haoa ...
- Java+selenium+Firefox/ IE/ Chrome主流浏览器自动化环境搭建
一.java+selenium+firefox 1.环境准备:JDK1.8 2.安装firefox浏览器v59 3.下载驱动:https://github.com/mozilla/geckodrive ...
- Java&Selenium截图方法封装
Java&Selenium截图方法封装 package util; import org.apache.commons.io.FileUtils; import org.openqa.sele ...
- Java&Selenium智能等待方法封装
Java&Selenium智能等待方法封装 ExpectedConditions方法还有很多,自然也可以继续扩展很多 package util; import org.openqa.selen ...
- Java&Selenium 模拟键盘方法封装
Java&Selenium 模拟键盘方法封装 package util; import java.awt.AWTException; import java.awt.Robot; import ...
随机推荐
- 【iCore1S 双核心板_ARM】例程十二:DMA实验——存储器到存储器的传输
实验原理: DAM(直接存储器访问)传输不需要占用CPU,可以在存储器至存储器实现高速的数据 传输.本实验采用DAM2控制器的数据流0,选用通道0进行数据传输.通过LED的颜色来 判断传输是否成功. ...
- ambari安装 QA
1.在安装时 出现Public key for ambari-server-2.4.2.0-136.x86_64.rpm is not installed 安装ambari报错 在安装HST服务时也报 ...
- ubuntu之视频转换(Avconv的使用)
1.安装 sudo apt-get install ffmpeg libav-tools 2.基本操作 avconv [options] [[infile options] -i infile] [[ ...
- linux:rsync + inotifywait 实现【准实时】同步
直接上脚本 #!/bin/bash export PATH=./sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:$PATH src=/tmp1 #dest=ro ...
- [JS] ECMAScript 6 - Set & Map : compare with c#
Ref: Set 和 Map 数据结构 Day 0 - 1所学
- 大杂烩 -- 四种生成和解析XML文档的方法详解
基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...
- ThinkingInJava 学习 之 0000002 操作符
1. 更简单的打印语句 2. 使用Java操作符 3. 优先级(单目乘除位关系,逻辑三目后赋值) 4. 赋值 1. 方法调用中的别名问题 5. 算术操作符 6. 自动递增和递减 7. 关系操作符 1. ...
- zeromq使用模式实验总结
zeromq:官网 安装 demo及各语言绑定 golang绑定 实验环境:win10 x64/centos6 x86 zeromq4.0.6 zmq三种模式:push/pull.pub/sub.r ...
- IOError: cannot open resource
在运行PIL_test.py文件的时候报错: File "PIL_test.py", line 40, in <module> font = ImageFont.tru ...
- scp出现Permission denied,please try again的解决办法
当scp的时候我们发现错误,被拒绝,是因为ssh的权限问题,需要修改权限,进入到/etc/ssh文件夹下,用root用户修改文件sshd_config 将PermitRootLogin no / wi ...