【问题标题】:What is the standard way of using selenium in production?在生产中使用硒的标准方法是什么?
【发布时间】:2022-01-11 15:53:30
【问题描述】:

我使用 selenium 和 javascript 为我的网站编写了一些测试。我想知道在生产中使用这个脚本的标准方式。在本地,我正在运行 chrome 驱动程序并测试我的脚本。我尝试的是在startpackage.json 中运行我的测试node test.js && react-scripts start。在生产中执行相同操作的标准方法是什么?

【问题讨论】:

  • 本地运行和生产运行之间有什么区别?你的问题不够清楚
  • 不会有任何区别。我只想知道如何处理 prod 中的 chrome 驱动程序。另外,这样做的标准方法是什么

标签: javascript node.js reactjs selenium testing


【解决方案1】:

如果在本地计算机和产品环境上运行测试没有任何区别,则没有理由在生产环境中以不同方式使用测试。
但是,通常在无头模式或 Selenium Grid 等 Unix 服务器上使用 Jenkins 或其他 CI/CD 工具在生产环境中运行测试。
在这种情况下,您必须分别调整测试以使用 Selenium Grid 或无头模式运行,以调整它们在 Unix 等上运行。
这一切都取决于您的实际配置,以及您将如何使用它。

【讨论】:

    【解决方案2】:

    在生产中处理 Selenium 有多种不同的方法。例如,如果您有一个开源项目,您可以考虑使用 GitHub Actions。这是 Selenium 项目的 JavaScript 工作流示例:https://github.com/SeleniumHQ/selenium/actions/workflows/javascript.yml 这可能是一个很好的起点,因为它是开源的,您可以看到它们如何运行测试。了解了这一点后,您可以根据需要尝试其他一些流行的解决方案(例如:Jenkins、Azure Pipelines、AWS、Google Cloud、CircleCI、GitLab、TravisCI 等)

    【讨论】:

      【解决方案3】:

      您无法在生产中使用 selenium,考虑到您在生产中需要 selenium,例如 爬虫,您的依赖项可能有所不同,在开发中,您将使用依赖项进行测试,selenium 将在生产或开发/测试中使用可用的driver

      也许您用于所选浏览器的参数可能因所使用的环境(生产、开发等)而不同,这对我来说没有意义,因为在测试中您应该重现与生产中相同的场景。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-01
        • 2011-08-01
        • 2015-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多