【问题标题】:About Karate UI Test Automation, How can I upload files when I use karate-chrome?关于空手道 UI 测试自动化,当我使用 karate-chrome 时如何上传文件?
【发布时间】:2020-10-21 14:43:02
【问题描述】:

我正在运行 docker(ptrthomas/karate-chrome)。 而且我已经配置好驱动了

* configure driver = { type: 'chrome', start: false, showDriverLog: true, host:'192.168.56.122' }

现在一切正常,UI 测试可以在 docker ptrthomas/karate-chrome 中运行。 但是当我上传文件时,在docker容器中找不到文件。

* driver.inputFile('#uploadfile', '../catalogFiles/BaseTemplate_SetupData.zip')
* submit().mouse('{^div}Upload').click()

所以问题是,当我使用 ptrthomas/karate-chrome 时,如何上传本地文件来测试 UI?

【问题讨论】:

    标签: karate


    【解决方案1】:

    您需要将文件放在 docker 容器中。这确实不容易,但是一旦你想在云端做 CI,事情就变得困难了。因此,您可以自定义 Docker 容器开始挂载本地文件夹,然后您可以在测试中引用该文件,一切都会正常。

    也许对于测试中的这一步,您应该尝试使用空手道 API 测试/HTTP 客户端执行文件上传:https://github.com/intuit/karate/tree/master/karate-core#using-multipart-file

    所以诀窍是在 API 调用中复制浏览器安全令牌(通常是 cookie)。

    您可以尝试分布式测试选项,该选项会将您的测试源上传到 docker 容器:https://github.com/intuit/karate/wiki/Distributed-Testing - 虽然尚未完全测试,但也许您的团队可以提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2019-06-16
      • 1970-01-01
      相关资源
      最近更新 更多