gpt4 book ai didi

unit-testing - 如何在本地或 Jenkins 上*自动化*基于浏览器的单元测试

转载 作者:行者123 更新时间:2023-12-04 04:08:45 26 4
gpt4 key购买 nike

几个月来一直在寻找这个问题的答案,但仍然不知道如何实际去做 - 如何自动化在浏览器中运行的测试? Selenium 测试在后端运行,当然可以自动化,我们现在正在这样做。最近我的任务是自动化基于浏览器的单元测试,我的知识差距很大 -

我不知道该怎么做-

例如 - 自动化测试运行器如何收集在浏览器中运行的(单元)测试的测试结果和退出代码?任何人都可以解释这实际上是如何完成的以及完成它的步骤吗?

Karma 是实现这一目标的最佳工具吗?

最佳答案

您可以使用 http://phantomjs.org/ . phantomjs 是一个 headless 的网络浏览器,您可以将其视为没有 gui 的全栈网络浏览器,可用作库。与 karma 一起,您可以在不依赖任何 GUI 实现的情况下执行单元测试。
这里有一篇博文,解释了这种场景中的不同组件 http://orizens.com/wp/topics/my-setup-for-testing-js-with-jasmine-karma-phantomjs-angularjs/

意味着您可以在 headless Linux 服务器上执行您的业力单元测试。

澄清:

  • 对 phantomjs 的需求并非来自单元测试。需要 phantomjs 是因为您的 js 单元测试依赖于浏览器 api。
  • 构建代码是一个很好的设计原则,与浏览器 api 的耦合不会使所有代码困惑。尝试引入一个封装浏览器 api 依赖项的薄层。像这样,您可以在不需要 phantomjs 的情况下测试您的 js。
  • 使用 phantomjs 执行单元测试可能需要一些时间。如果你有很多单元测试,最好把对浏览器 api 的依赖分解出来。因此,您可以在不需要 phantomjs 的情况下执行更多测试,并且只有少数单元测试需要使用 phantomjs 执行。

关于unit-testing - 如何在本地或 Jenkins 上*自动化*基于浏览器的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com