【问题标题】:Upload the file from my local via Sauce Labs REST API通过 Sauce Labs REST API 从我的本地上传文件
【发布时间】:2022-05-02 17:19:14
【问题描述】:

我正在尝试通过 Saucelabs REST API 从本地上传文件,并使用以下 curl 命令上传文件。 saucelabs 中上传的文件路径是什么?如何使用特殊的 URL 文件格式 "sauce-storage:your_file_name" 进行测试

curl -u SAUCE_USERNAME: SAUCE_ACCESS_KEY -X POST "http://saucelabs.com/rest/v1/storage/ SAUCE_USERNAME /imagefile.jpg?overwrite=true" –H" 内容类型: application/octet-stream" --data-binary @D:/imagefile.jpg

然后我得到了类似的响应输出

‘{"username": "SAUCE_USERNAME", "size": 615651, "md5": "d156965b4d96ea9780a4892c25dc8c4a", "文件名": "imagefile.jpg"}'

【问题讨论】:

    标签: curl selenium-webdriver behat mink saucelabs


    【解决方案1】:

    我没有使用 Sauce Labs 的这个功能,但我理解文档的方式是您需要让被测系统以下列方式引用该文件。假设这是您的典型图像标签的外观:

    <img src="/static/images/imagefile.jpg" alt="This really big image file..." />
    

    而是需要引用为:

    <img src="sauce-storage:imagefile.jpg" alt="This really big image file..." />
    

    您的构建需要能够控制附加到图像路径名称的内容,才能使此功能正常工作。

    如果您使用的是酱隧道,静态文件会被 Sauce 缓存,因此虽然这张图片很大,有 600KB,但您最初可能不必担心上传它,因为除非您关闭它,否则它不会再次被拉下隧道向下。

    【讨论】:

    • 上传的文件在 Saucelabs 临时存储中的位置?这个 URL 是什么意思 saucelabs.com/rest/v1/storage/SAUCE_USERNAME/imagefile.jpg ?我想要在 saucelabs 中上传的文件路径。因为当我尝试通过 behat 测试使用表单输入文件字段上传图像时,酱实验室不直接接受来自本地系统的文件。
    • 我已经出城了,所以对于延迟回复我深表歉意。您不需要知道文件所在的位置,当在检索到的 HTML 中遇到该位时,他们会处理映射。有问题的 URL 告诉酱您正在上传图像,它将在您的用户名的特殊存储桶中创建。您的测试不需要知道该文件在酱实验室服务器上的确切位置。你试过他们的支持/论坛吗?
    【解决方案2】:
    curl -u "$SAUCE_USERNAME:$SAUCE_ACCESS_KEY" --location --request POST 'https://api.eu-central-1.saucelabs.com/v1/storage/upload' --form 'payload=@"<file path>"'
    

    为 EU-CENTRAL 数据中心提供上传命令。

    需要根据数据中心更新酱实验室存储url。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-17
      • 2014-05-02
      • 2023-03-10
      • 2021-06-07
      • 1970-01-01
      • 2021-09-23
      • 2017-11-23
      • 1970-01-01
      相关资源
      最近更新 更多