【问题标题】:WebDriverIO & AWS LambdaWebDriverIO 和 AWS Lambda
【发布时间】:2020-04-20 15:22:42
【问题描述】:

我一直在做一个项目,该项目将在 AWS lambda 函数内运行 webdriverio (https://webdriver.io/) 浏览器测试。我在本地运行没有问题,但是一旦部署到 AWS,让它在 lambda 内部工作就有点麻烦了。

我做了一个公开的回购,显示了我正在尝试做的事情: https://github.com/Drewster727/wdio-lambda

如果您查看该存储库,您会发现我正在利用无服务器框架 (https://serverless.com/) 进行打包并部署到 AWS。您还将看到,我的 package.json 文件中安装了一些 @wdio 和 chomedriver 软件包,这些软件包应该允许我执行所需的操作。诀窍当然是 chrome 二进制文件需要与 linux 兼容(而不是像我的本地开发环境那样的 osx)——这就是自述文件说明在 lambda docker 容器内构建和打包的原因。

我遇到的问题是当我执行该函数时,我检查了 cloudwatch 日志,它会告诉我各种各样的问题,具体取决于我如何定位 chrome 二进制文件。在当前状态下,错误显示this

在此之前,我会看到 chromedriver 无法启动的问题。这很有趣。我很想达到可以在 firefox (gecko) 或 chromedriver 之间进行选择并允许它们都运行的地步,但这比我预期的要难。

我正在寻找是否有人对我如何解决此问题并使其正常工作有提示/建议。随意分叉回购。我被难住了!

谢谢, 画了

【问题讨论】:

    标签: node.js amazon-web-services webdriver serverless-framework webdriver-io


    【解决方案1】:

    大约一年前我做了这个,构建了一个基本上使用 Chrome 驱动程序在 Lambda 中浏览网站的工具。我发现的问题是由于底层 Lambda 环境包含的二进制文件存在问题。我不记得有关如何纠正我遇到的问题的确切细节,但它与不需要特定库集的特定版本的 Chrome 驱动程序有关。这个版本可以在 Lambda 中成功使用。我不记得那个版本是什么,但也许这会为你指明正确的方向。

    【讨论】:

      【解决方案2】:

      我现在正在研究它。

      我确信来自乌克兰的那个人是用 ProtractorJS 做到的。他开始了 5k 次测试,它们在 3 分钟内完成(执行时间最长的测试)。

      The video 是俄语,但大多数幻灯片都是英语。 如果我能够尽快实施它,我会更新你。 或者只是将帖子添加到 qalesson.com

      继续努力;)

      【讨论】:

      • 其实是我;)
      【解决方案3】:

      你实际上是在处理艰巨而复杂的任务,而且它有很多隐藏的水下岩石。

      我有一些类似的 mocha 项目:https://github.com/Xotabu4/embarrassingly-parallel-mocha,但我没有完成它以供公众使用。它也适用于作为您的项目的无服务器框架。

      首先,您的问题是因为您使用 ES6 import/export 运行代码,节点 8 不支持该代码。最简单的解决方案就是切换到旧的好 require/module.exports,这样就不需要 webpack/babel 来转换代码了。

      另一件事,检查这个包,它根本没有记录,但可能会为您指出一些解决方案。 https://github.com/webdriverio/webdriverio/tree/master/packages/wdio-lambda-runner

      顺便说一句,你也应该试试 Google Functions,我知道 @boris osipov 也做过一些实验 - https://github.com/BorisOsipov/wdio-gcloudfunction-example

      【讨论】:

        猜你喜欢
        • 2017-01-28
        • 2017-11-04
        • 2018-03-08
        • 2016-06-23
        • 2017-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多