我使用JMeter作为单元测试工具,在参数化调用中,我希望一些响应是500内部服务器错误.我正在使用BeanShell Assertions来检查响应.
如果响应包含指定的文本,我希望500个内部服务器错误中的一些不被标记为失败.所有500个服务器错误都标记为失败.是否有可能改变行为?
以下是BeanShell Assertion的摘录.
if (ResponseCode.equals("500")) {
Failure = false;
String respData = new String(ResponseData);
if (! respData.contains("specific Text")) {
Failure = true;
FailureMessage = "500 Internal Server Error: Unexpected Response. " +
"Response Message: " + respData;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢你们
场景是这样的:
我们使用JBehave和Selenium进行系统,集成和端到端测试.我正在检查超过20个值的页面上的计算结果以进行验证.使用Junit断言整个测试将在其中一个值不正确的第一个实例上失败.我想要做的是,如果一个断言失败,那么测试继续执行,这样我就可以整理一次测试运行中不正确的所有值,而不是多次测试运行.
为此,我捕获断言并将未通过验证的任何内容写出到日志文件中.这给我留下了一些问题:
1)在我写出来的断言日志文件失败不包含JBehave的故事或情景,目前正在运行中的异常发生时的名称.
2)JBehave Story或Scenario被列为'通过',我希望它被列为'失败'.
有什么办法,我可以登录的故事和场景出了名的附加日志文件或获得写入JBehave日志文件中的额外的记录?
如何将Story/Scenario标记为失败?
在JBehave配置中,我有:
configuredEmbedder()
.embedderControls()
.doIgnoreFailureInStories(true)
.doIgnoreFailureInView(false)
.doVerboseFailures(true)
.useStoryTimeoutInSecs(appSet.getMaxRunningTime());
Run Code Online (Sandbox Code Playgroud)
和
.useStoryReporterBuilder(
new StoryReporterBuilder()
.withDefaultFormats()
.withViewResources(viewResources)
.withFormats(Format.HTML, Format.CONSOLE)
.withFailureTrace(true)
.withFailureTraceCompression(true)
.withRelativeDirectory("jbehave/" + appSet.getApplication())
Run Code Online (Sandbox Code Playgroud)