【问题标题】:How to fetch file from AWS S3 in Karate feature file? [duplicate]如何从空手道功能文件中的 AWS S3 获取文件? [复制]
【发布时间】:2021-05-16 22:12:09
【问题描述】:

我一直在尝试自动化测试场景,其中我需要从 S3 存储桶中获取 JSON 文件,读取它,然后应用我的逻辑。请注意,我在空手道中使用 JavaScript

由于我对自动化测试还很陌生,所以我一直在网上对此进行一些研究。到目前为止,我已经获得了我正在尝试使用的 Maven Artifact aws-java-sdk-s3

我把这个依赖放在 pom.xml 文件中。

        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>1.11.953</version>
        </dependency>

如何使用此工件从 S3 获取文件?

同时,我正在尝试使用 S3 URL 获取特定文件,如下所示:

@sampleTest
Scenario: Get Call Test
    Given url 'http://test-bucket.s3.amazonaws.com/'
    When method Get
    Then status 200

目前这给了我 403 状态,因为存储桶不是公开的。

如何将 S3key 和 S3secret 添加到 URL?另外,如果我知道位置(JSONPathURL),如何获取特定文件?熟悉这个工具的人可以帮帮我吗?

【问题讨论】:

    标签: javascript maven amazon-s3 karate feature-file


    【解决方案1】:

    应该可以使用 Karate 模拟 HTTP 请求并传递魔术头。这是一个示例:https://stackoverflow.com/a/62085130/143475 - 如果您只需要 GET,它应该更简单。

    也就是说,另一个选项是通过 Java 互操作。首先编写一个包含所有硬编码的静态辅助方法,然后从空手道调用它会很简单:https://github.com/intuit/karate#calling-java

    类似这样的:

    * def data = MyUtils.getJsonFromS3()
    

    一旦你开始工作,你可以考虑将参数传递给getJsonFromS3() 方法等。

    【讨论】:

    • 是的,我已经检查了那个特定的问题,但它对我如何获取文件没有帮助。不幸的是,我没有在 GET 上找到任何示例。我会继续寻找,看看我是否能找到我想做的事情。谢谢
    • @Shambhavi 只需使用 SDK 查找任何现有的 Java 代码示例,无需搜索太多!
    猜你喜欢
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多