改变我测量媒体响应大小的方式

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

嗨彼得或空手道用户,

刚刚从 1.2 升级到 1.4,我发现 responseBytes 已更改,并且在文档中没有看到任何有关预期更改的信息。

我使用以下格式来测试我的网站是否返回媒体:

Scenario: 00 - TESTER for STACKOVERFLOW getMedia where media type is: Video
    # Test steps
    Given url 'https://www.afl.com.au/resources/v4.8.10/i/elements/afl-watermark-left.png'
    When method get
    Then status 200
    # Match contentType and contentLength response headers
    And match responseHeaders['Content-Type'][0] == 'image/png'
    # Observed 22000 as of 05-05-23
    And assert responseHeaders['Content-Length'][0] >= '10000'
    # Asserting against the content length
    And def responseSize = karate.sizeOf(responseBytes)
    # Observed 22000 as of 05-05-23
    And assert responseSize >= '10000'

responseBytes 内置变量用于返回列表数组,在打印它时可见,但现在返回其他内容。现在,“responseSize”变量包含 -1,如果 reponseBytes 不再是列表,就会发生这种情况。 谢谢你,

我期望

karate.sizeOf(responseBytes)
解析为 int,它显示图像的大小(以字节为单位),然后我可以对此做出断言,如果字节低于我的阈值,它会提醒我。

我尝试过其他功能,例如“响应”,并且正在寻找一种 Js 方法来测量响应的大小。

image karate
1个回答
0
投票

您可以尝试使用

responseBytes.length
吗?它应该有效并且是推荐的用法。

你是对的,karate.sizeOf() 不处理字节,我们提出了一个问题

© www.soinside.com 2019 - 2024. All rights reserved.