我被要求增强我的断言,以便在我的JMeter测试计划中提供更好的日志消息,该计划使用基本的CRUD方法测试API。测试计划正在检查Jenkins并自动运行。当出现问题时,支持团队的消息传递水平不足。
在第一个线程组中,我有一个HTTP请求,用于根据传入的有效负载在数据库中创建新记录。在此请求下,我有一个BeanShell断言,如下所示:
if (ResponseCode.equals("200") == true)
{
SampleResult.setResponseOK();
}
我现在正在努力增强这个以解决409和500个回复。
我试过了,但它似乎不起作用:
if (ResponseCode.equals("200") == true)
{
SampleResult.setResponseOK();
}
else if (ResponseCode.equals("409") == true)
{
FailureMessage = "Creation of a new CAE record failed: Attempting to create a duplicate record.";
}
else (ResponseCode.equals("500") == true)
{
FailureMessage = "Creation of a new CAE record failed: Unable to connect to server";
}
此外,如果ResponseCode不是200,那么我需要退出整个线程组并转到下一个线程组。
我在这个网站上已经阅读了几个问题,以及 How to Use BeanShell: JMeter's Favorite Built-in Component 和 How to Use JMeter Assertions in Three Easy Steps ,但我仍然感到困惑。不是开发人员,而且还是JMeter的新手,我需要指导。
非常感谢任何和所有帮助。
答案 0 :(得分:1)
选择'停止线程'在线程组中将帮助您在出现任何错误时停止线程组 - 假设您有其他线程组连续执行。如果没有,测试将停止。
在beanshell中包括
var app = angular.module('myApp', []);
app.controller('myCtrl',['$scope', function($scope) {
$scope.changeAxis1 = function() {
if ($scope.thirtyDay) {
alert("checked 30");
$scope.wholeTimeline = false;
}
};
$scope.changeAxis2 = function() {
if($scope.wholeTimeline) {
alert("checked whole");
$scope.thirtyDay = false;
}
};
}]);