在处理写入csv文件含有逗号双引号时,上一节中,我们是在已知这两个字段含有逗号时对每个字段进行了处理

可以看到,如果在未知情况下,是不是对每个写入的字段先都提前处理好再写入,每个处理的方法都一样,我们就可以写一个公共调用的方法,只需将要处理的字符串传进去即可。

java方法头方法体怎么定义的,自行百度,我们只需要简单了解即可

在beanshell中一个名为specialProcess方法,参数为pd,就是接收传过来的字符串,返回值为String类型,如下

//写入csv时字符串若含有处理逗号双引号的公共处理方法
public static String specialProcess(String pd)
{if(pd.contains(",")){if(pd.contains("\"")){//再含有双引号的位置再增加双引号pd=pd.replace("\"","\"\"");}pd="\""+pd+"\"";}return pd;
}

将从响应提取出来的值调用该方法处理,处理完成再赋值给变量pd1和pd2写入csv文件

String pd1=specialProcess("${priceDetail_1}");
String pd2=specialProcess("${priceDetail_2}");

beanshell中完整代码如下

//写入csv时字符串若含有处理逗号双引号的公共处理方法
public static String specialProcess(String pd)
{if(pd.contains(",")){if(pd.contains("\"")){//再含有双引号的位置再增加双引号pd=pd.replace("\"","\"\"");}pd="\""+pd+"\"";}return pd;
}//定义一个写入csv文件的地址
//String filePath1 = "D://xntest//result.csv";
String filePath1 ="${filePath1}";String pd1=specialProcess("${priceDetail_1}");
String pd2=specialProcess("${priceDetail_2}");//创建写入对象
FileWriter fw=new FileWriter(filePath1,true);
BufferedWriter bw=new BufferedWriter(fw);
//读取csv文件字段值,写入result.csv,逗号表示字段间的分隔符,需要用英文逗号
bw.write("${originprovince}"+",");
bw.write("${origincity}"+",");
bw.write("${origindistrict}"+",");
bw.write("${destprovince}"+",");
bw.write("${descity}"+",");
bw.write("${desdistrict}"+",");//将查询时效的提取值写入
bw.write("${reachTime_1}"+",");
//bw.write("${priceDetail_1}"+",");
bw.write(pd1+",");
bw.write("${reachTime_2}"+",");
//最后一个字段写入后需要用换行符\n
//bw.write("${priceDetail_2}"+"\n");
bw.write(pd2+"\n");
bw.flush();
fw.close();

Jmeter书中不会教你的(39)——快递时效查询9在beanshell中写java方法相关推荐

  1. Jmeter书中不会教你的(38)——快递时效查询8用户自定义变量User Defined Variables

    通过前面28/32节讲解,可将快递时效查询的案例优化, 第一.在执行前先判断写入文件是否存在 第二.之前写入的部分字段含有逗号情况处理 这时候我们发现有一个变量重复定义String filePath1 ...

  2. Jmeter书中不会教你的(25)——快递时效查询实战6写入csv文件

    前面已经通过参数化.通过提取响应值.引用变量已经实现了批量查询时效的功能,但是如果我们需要查看结果时需要在查看结果树中一个一个点击查看就很不方便,最好能将所需要的结果提取出来后再写入到csv文件中,这 ...

  3. Jmeter书中不会教你的(22)——快递时效查询实战3边界值提取器boundary extractor

    经过上两节的实战,选择固定的开始和目的地,查询时效的脚本已经完成.本节需要将原固定值转化成变量,利用接口提取的响应值传递给查询时效接口. 从查询时效的请求内容看,需要将以下四个固定值变成可变的.这四个 ...

  4. Jmeter书中不会教你的(20)——快递时效查询实战1场景编写思路

    上一节中我们学会了如何使用开发者工具去抓取接口,现在我们把抓取到的查询时效的接口放入jmeter中执行,结构如下,     path您可以把抓取到的一并复制过来就可以 这是页面上的查询条件及结果,红* ...

  5. Jmeter书中不会教你的(21)——快递时效查询实战2http header manager

    上一节讲了场景编写的思路,再来调试另一个根据名称查询地址id的接口,注意请求类型及请求参数 ​ 执行后报错了,415错误不支持的媒体类型,从head中的报错信息看,Content-Type中设置的te ...

  6. Jmeter书中不会教你的(32)——快递时效查询实战7判断文件是否存在exists()

    前几接一直在讲写入csv文件的一些知识点,回过头来继续优化快递时效查询案例,在每次执行脚本后,如果没有手动删除写入的result.csv文件,那么下次执行后的结果会追加到上次结果后面.可是一般我们希望 ...

  7. Jmeter Beanshell采样器调用JAVA方法(二)

    BeanShell Sampler调用添加的java方法 1.BeanShell Sampler里添加java方法 public static String test() {vars.put(&quo ...

  8. java方法传对象参数_Java方法中的参数太多,第2部分:参数对象

    java方法传对象参数 在上一篇文章中 ,我研究了与方法和构造函数的长参数列表相关的一些问题. 在那篇文章中,我讨论了用自定义类型替换基元和内置类型以提高可读性和类型安全性. 这种方法使方法或构造函数 ...

  9. 商丘高中计算机考试成绩查询系统,河南省中招考生服务平台2019商丘中考成绩查询系统入口...

    河南省中招考生服务平台2019商丘中考成绩查询系统入口 河南省中招考生服务平台2019商丘中考成绩查询系统入口 2019年河南省普通高中招生考试统一实行网上报名.河南中招报名工作由各省辖市.省直管县( ...

最新文章

  1. UI组件之TextView及其子类(五)计时器Chronometer
  2. 【三分钟学习FFMPEG一个知识点】FFMPEG关于avio_alloc_context申请使用内存释放问题
  3. Node.js-中文分词【1】-node-segment
  4. 用OPENCV视觉解数独
  5. python编码和解码_uu --- 对 uuencode 文件进行编码与解码 — Python 3.7.9 文档
  6. 思科c240 m3 服务器安装系统,2U机架式 思科UCS C240 M3让你心动
  7. 【工程项目经验】之多个静态库合并成一个
  8. 数据库 基础学习7— 数据库编程
  9. 苹果手机远程服务器桌面,如何进行远程管理?如何实现苹果手机远程管理电脑?...
  10. latex文字加粗、斜体
  11. Python安装教程_Python运行环境的搭建
  12. 数据分析学习记录(五)--Paired Comparison Plot App插件的使用
  13. 如何在WhatsApp中引用某人
  14. 242. 有效的字母异位词 349. 两个数组的交集
  15. 几款常用UML建模工具解析
  16. 计算机少年宫辅导教师总结,学校信息技术教师的个人工作总结
  17. EXCEL表格怎么让每一列都乘以固定的一列
  18. 并发编程:进程+线程+协程
  19. swap未禁用导致的k8s NotReady
  20. 给你心爱的 npm 包上个『北京户口』

热门文章

  1. 生活中的数学问题(二)
  2. 如何制作一个横版格斗过关游戏(2) Cocos2d-x 2.0.4
  3. python培训昆山
  4. java wrapper怎么运行_java wrapper方式部署项目
  5. 大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2)
  6. 网页自动识别跳转手机或pc
  7. fusionsphere环境搭建_FusionSphere服务器虚拟化(单虚拟化)的软件安装
  8. drx功能开启后_DRX功能开启指导书(中国移动推荐参数)
  9. 网站优化如何有效的堆砌关键词?
  10. 图像分类,物体检测,语义分割,实例分割等概念