我已经运行了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?
您需要将文件放置在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-虽然尚未完全测试,但是也许您的团队可以提供帮助有助于。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句