Jmeter中提供了一种函数,可以打印时间戳,如下图
年: yyyy 月:MM 日:dd
时: HH 分: mm 秒:ss
关于时间戳的格式,可以自由组合定义,这里我写成这样 yyyy-MM-dd HH:mm:ss
生成的函数是这样的:${__time(yyyy-MM-dd HH:mm:ss,)}
现在将这个函数写入下一个接口
执行,查看结果树,可以看到结果中,将当前时间打印出来了哦~
此函数适用于一些需要填写时间参数的接口,用于实时获取当前时间。时间参数如果写死的话,过段时间接口就会报错啦~
下面说一下时间偏移如何打印。
说到时间偏移,就是说我不光想打印当前时间,我还想打印明天,后台,甚至是明年的时间,那么我们要怎么去处理?这里就需要用到 BeanShell Sampler
在Parameters中传递变量,执行并查看结果树,发现成功打印了跨度为一年的时间戳
附:beanshell打印时间的代码
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
try{
Date date =new Date(); //获取当前时间
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowDate = sf.format(date);
Calendar cal = Calendar.getInstance();
cal.setTime(sf.parse(nowDate));
cal.add(Calendar.DAY_OF_YEAR,+0);
String orderDate = sf.format(cal.getTime());
cal.add(Calendar.DAY_OF_YEAR,+365);
String senderDate = sf.format(cal.getTime());
vars.put("orderDate",orderDate);
vars.put("senderDate",senderDate);
}
catch(Exception e){
}
在Jmeter中,除了正则表达式可以用作关联,还有一种方式也可以做关联,那就是 XPath Extractor。它是利用xpath提取出关键信息,传递变量。
具体用法
添加一个后置处理器-XPath Extractor
实际操作
以腾讯新闻网为例,我们做一次演练。对腾讯新闻网我们发起一次请求,观察结果。
现在我想利用xpath把这些url都取出来,我们来写一个xpath表达式匹配一下。发现url都被匹配出来了。
.//a[@class='linkto']/@href 具体是什么意思呢?意思就是通过a>class>href这三层标签进行逐级检索,找到class=linkto标签下的所有href,进行匹配
这里如果我想匹配到href标签下的文字标题怎么办?改一下表达式吧--.//a[@class='linkto'],我们发现取出来都是标题,后面可以再进行拼接
现在表达式没有问题了,我们将添加的xpath提取器挂在http请求下面。添加一个debug查看结果,可以看到debug中已经获取到了这些url
我们可以添加两个xpath提取器,分别提取url和title进行拼装,运行查看结果
xpath基本语法
//*[@class,'A ']/@href 从根目录下定位所有class=A的href
//*[@class,'A '] 从根目录下定位所有class=A标签内的文本
//*[contains(@class,'A ')] 从根目录下@class值中包含A的节点
substring-before(.//*[@class='A']/text(),'0') 返回根目录下[@class='A']/text()中第一个'0'前面的部分,如果不存在'0',则返回空值
substring-after(.//*[@class='A']/text(),'0') 返回根目录下[@class='A']/text()中第一个'0'后面的部分,如果不存在'0',则返回空值
总结:
感谢每一个认真阅读我文章的人!!!
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。
Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628