微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从空手道功能文件中的 AWS S3 获取文件?

如何解决如何从空手道功能文件中的 AWS S3 获取文件?

我一直在尝试自动一个测试场景,其中我需要从 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),如何获取特定文件?熟悉此工具的人可以帮助我吗?

解决方法

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

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

像这样:

* def data = MyUtils.getJsonFromS3()

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?