Gattle 在文件中打印失败的用户

问题描述 投票:0回答:1

我正在使用 Ga特林作为性能测试工具。我想在用户失败或退出时将会话属性用户名写入 file.txt 中。我正在使用 scala 语言使用 Ga特林。

场景:

  • 用户名取自 csv 文件,并且在会话属性中仍然可用

尝试过

  • 我尝试使用 After() 挂钩,但它会在模拟结束时工作,而不是针对每个用户执行,并且仍然不会在最后打印。

-- 谢谢

scala gatling scala-gatling
1个回答
0
投票

有几种方法可以做到这一点。
First:在场景中实现逻辑作为检查失败的步骤,然后从

Session
中提取值并将其写入文件。

...
.exec { session =>
      if (session.isFailed) {
        val username = session("username").as[String]
        // the method which writes to file
      }
      session
    }

第二:设置用于 logback 的文件附加程序。因此,我们本质上将记录所有错误并随后处理它们以提取所有必要的信息。 在

logback-test.xml
中添加:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>file.log</file>
        <append>false</append>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
        </encoder>
    </appender>
    
    <logger name="io.gatling.http.engine.response" level="DEBUG"/>

    <root level="WARN">
        <appender-ref ref="FILE"/>
    </root>

</configuration>

然后只需使用

sed
类似工具对日志文件进行后处理即可。

sed -n 's/.*username -> \([^,]*\).*/\1/p' file.log
© www.soinside.com 2019 - 2024. All rights reserved.