小编Gaz*_*dos的帖子

JMeter如何不失败500内部服务器错误

我使用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)

谢谢你们

jmeter assertion

28
推荐指数
2
解决办法
3万
查看次数

额外的记录JBehave

场景是这样的:

我们使用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)

java bdd logging jbehave selenium-webdriver

7
推荐指数
1
解决办法
6802
查看次数

标签 统计

assertion ×1

bdd ×1

java ×1

jbehave ×1

jmeter ×1

logging ×1

selenium-webdriver ×1