使用 Tsung 在 erlang 模块中提取 fun:bad 结果

extract fun:bad result in erlang module using Tsung

我正在使用由 erlang 模块扩展的 tsung 编写测试,但我总是遇到相同的错误,甚至不向服务器发送任何内容。

错误是:

=INFO REPORT==== 7-Oct-2019::21:12:17 ===
      ts_search:(7:<0.181.0>) found module name: "test"
=INFO REPORT==== 7-Oct-2019::21:12:17 ===
      ts_search:(7:<0.181.0>) found function name: "authenticate"
=INFO REPORT==== 7-Oct-2019::21:12:17 ===
      ts_search:(4:<0.181.0>) extract fun:bad result <<57,...,49>>

我的 tsung 会话是:

<sessions>
    <session name="authenticate" weight="1" type="ts_raw">                         
       <request subst="true">
         <raw data="%%test:authenticate%%" ack="local"></raw>
       </request>
    </session>
</sessions>

我的模块是:

-module(test).

-include("test_protobuf.hrl").

-export([authenticate/1]).

authenticate({Pid, DynData}) ->
   test_protobuf:encode_msg(#'Authenticate'{user="user", pass="pass"}).

我正在使用 erlang 编译器:https://github.com/tomas-abrahamsson/gpb

我该怎么办?

调用您的 authenticate/1 函数 ts_search:extract_function/5 的 Tsung 函数需要整数或字符串的 return 值,但您的函数是 returning一个二进制文件。改成

authenticate({Pid, DynData}) ->
    binary_to_list(test_protobuf:encode_msg(#'Authenticate'{user="user", pass="pass"})).