问题标签 [parallel-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - parallel_tests RSpec 提高性能
我有一套针对控制器的测试,该控制器调用外部沙箱 api 进行测试,这使得性能相当缓慢。我想通过允许 parallel_tests 不仅可以并行运行套件,还可以运行单个describe
s 来提高性能。
例如:
因为#index
and#create
测试不共享任何内存空间,所以可以并行化它们。一种选择是:
但这使测试看起来很尴尬并且阅读起来很痛苦。有没有一种方法可以轻松地并行parallel_tests
运行每个?describe
java - Selenium:在不同的浏览器上运行相同的测试
我想在不同的浏览器(Firefox、Chrome 和 Safari)上运行相同的测试。为此,我在测试中使用参数化。如果浏览器是 chrome,则在哪里运行 chrome 等等。
在testng.xml
我已经指定并行运行测试并在多个<test>
标签下重复相同的测试。
如果我有这么多测试要运行怎么办。我将在<test>
标签中复制粘贴相同的测试。哪个没有看到最佳解决方案。
我怎样才能解决这个问题?
这是我尝试过的:
c# - Selenium GRID 2 + NUnit 3 选项可并行运行测试
我决定从当前的解决方案(几年前我们团队使用NDistribUnit修改过的 NUnit,它在 VirtualMachines 上运行测试,然后在集线器服务器上收集结果)切换到 Selenium Grid 2。
已尝试使用 ParallelizableAttribute 选项。不幸的是,我注意到 IWebDriver 存储在全局变量(puhh)中。这导致测试启动多个浏览器实例,但测试使用单个 IWebDriver -> 测试执行发生在单个浏览器中 -> 测试在单个进程下运行,但具有多个“工作”线程。尝试使用 2 个虚拟机作为“节点”,将本地 PC 作为集线器。
我知道最好的解决方案是更改无效的想法以将驱动程序存储在全局变量中,但这会花费太多时间:要更新 3k+ 繁重的 UI 测试;许多静态方法也期望将驱动程序作为全局变量进行更新。
NUnit 3.0 还提供了并行运行多个程序集的选项。运行多个测试项目很好,但目前我们每个应用程序有 1 个程序集。并行运行一个应用程序(一个程序集)的测试会很好。
还有其他方法可以在这里使用 GRID + NUnit 3 来使其工作吗?
最后,重构了现有的解决方案:现在执行期间的每个测试都有自己的驱动程序。由于这种变化,很多代码被重写(似乎有太多的方法期望将 IwebDriver 作为全局变量)
jenkins-plugins - 无法在硒网格詹金斯插件中注册节点
谁能告诉我如何在 Jenkins 中配置 selenium 网格插件?我正在使用 appium 使用 JSON 进行并行执行。我已经在插件中创建了 JSON,但无法将启动 appium 注册为节点。
jenkins - 在 Jenkins 中并行运行 Chrome 时出现“没有这样的会话”/“chrome 无法访问”错误
我在 Jenkins 中使用 parallel_test gem(也与 Capybara、selenium - Ruby 语言一起使用)在 Chrome 上运行自动化测试时遇到了问题。我正在使用 Xvfb 以无头模式运行它。但是,由于“没有这样的会话”或“无法访问 chrome”错误,大多数测试场景都失败了。
这是我在 Jenkins 测试作业中的运行命令:
这是我在 env.rb 中的 register_driver:
这是错误消息:
有人说错误是由于 xvfb 造成的,有人说是由于 Chrome 无法并行运行。
有没有人遇到过这个问题?我怎么解决这个问题?
nunit - Nunit 3.0 测试未在 TeamCity 中并行运行
我们有一套 API 测试,我们一直在使用 MBunit 在 Teamcity 上运行。大约有 200 个测试设置为并行运行 12 个,运行大约需要 7 分钟。Nunit 最近发布了第 3 版并支持夹具并行性。这在本地对我有用,我已经看到测试在 Visual Studios 中的运行速度与它们在 MBunit 中的运行速度一样快。
在使用 NUnit 运行器类型的 TeamCity 中,测试需要 3 个多小时才能运行。前 20 次测试每次大约需要 90 秒,其余的每次需要 15 分钟,并且没有并行运行。
我对测试所做的唯一更改是从 MBUnit 切换到 NUnit。
我已经附加了我在这里使用的 teamcity NUnit 构建步骤配置
selenium - Cucumber Selenium - 并行浏览器测试
我有以下功能文件:
如何在 2 个不同的浏览器上并行运行测试?
我知道它可以使用 TestNG 完成,但我没有在我的项目中使用 TestNG。我想知道是否有其他方法。
junit4 - 肯定火并行线程计数被忽略(JUnit 4)
我已经看到很多关于与 maven surefire 并行运行 JUnit 测试的主题,但我还没有看到处理这个特定问题的答案。
简而言之:测试方法是并行执行的(那里有好消息),但 prop 并不能限制我的线程。最终目标是并行化我的 web 驱动程序和 appium 运行,但我希望能够首先控制可能的线程总数。
下面的代码片段来自一个虚拟项目,仅用于演示。按照apache 文档,它看起来并没有比下面的更多。
pom.xml
ExampleTest.class
我希望使用提供的 pom 配置完整运行这个类需要比 25 秒长一点的时间(10 个睡眠 5 秒,一次运行两个)。实际运行时间略多于 5 秒:
更改该 threadCountMethods 道具对运行时没有影响(看起来所有方法都在并行运行,而不考虑 threadCount 道具)。
任何投入将不胜感激; 谢谢!
ruby - 平行黄瓜报告
一旦我的测试完成,我正在尝试让 Parallel_Cucumber 保存报告。我已经按照文档并将以下内容添加到我的 cucumber.yml 中:
我没有收到任何报告。
有什么我想念的吗。运行测试时是否需要在命令行中添加一些内容?到目前为止,我正在使用:
python - 使用子过程方法(普通网格或使用詹金斯)使用硒网格分布测试
我想在我的本地机器和远程机器之间分发我的测试。我有 2 个测试,并希望并排运行它们以加快执行速度。一个在本地机器上,另一个在远程机器上。我已经在本地设置了集线器和一个节点,并且我已经在远程机器上注册了另一个节点..
这是我保存在同一目录中的三个代码文件:
TestOnChrome.py
TestOnChromeTwo.py
这是我的runner.py
如果我运行 runner.py,它会自动分发测试吗?使用我注册的节点?还是我需要做点别的?