问题标签 [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 --only-failures 运行失败的测试
我在我的 rails 项目上运行 parallel_tests gem,失败测试的输出进入文件 tmp/failing_specs.log。问题是该文件的输出格式不适合与“rspec --only-failures”一起使用。
parallel_test 输出文件在我的 .rspec_parallel 文件中定义;
该 failed_specs.log 文件的输出是这样的
rspec --only-failures 期望的输出如下所示;
我怎样才能让这两个很好地协同工作?
selenium - 如何知道并行测试执行中哪个系统测试失败?
我在 3 个不同的系统上并行运行 11 个测试场景。
S1:Win7 Firefox46.0
S2:Win10 Chrome58.0
S3:Mac Safari9.0
完成后,我可以在 TestNG 报告中看到测试失败,但我无法跟踪场景在哪个系统中失败。
有什么方法可以让我跟踪哪个系统或环境测试失败。
java - 如何在 Selenium Web 驱动程序中登录到与不同用户并行的网站?
这是我需要自动化的场景:
- 我需要用不同的用户说“gmail”登录网站。
- 执行不同的操作,比如“撰写”、“更改设置”等。
- 然后注销。
我需要并行执行上述所有步骤。
- class1 - 打开多个 Chrome 驱动程序。
- class2 - 执行诸如导航、输入文本、点击等操作的方法。
- class3 - 包含测试用例。
下面是我的代码:
使用上面的代码,我可以打开具有不同会话 ID 的多个浏览器实例。
然后,在同一浏览器中进行多次操作,即导航到gmail.com
3 次,然后输入用户名 3 次(user1user1user1)。
它没有在 3 个不同的浏览器实例中运行。
请帮助我实现这一目标。
python - 在setting.py中设置django并行测试
您好,我知道可以通过--parallel
标志在 django 中并行运行测试,例如。python manage.py test --parallel 10
. 它确实加快了我正在工作的项目中的测试,这真的很棒。但是公司的开发人员共享不同的硬件设置。因此,理想情况下,我想将并行参数放入其中,./app_name/settings.py
以便每个开发人员在测试中使用至少 4 个线程或多处理库提供的内核数量。
我知道我可以制作另一个脚本,比如说run_test.py
我在其中使用--parallel
.
总结一下 - 我的问题是:我可以在 django 应用程序的设置中放置并行测试运行的数量吗?如果答案是肯定的。还有第二个问题 - 命令行参数 (X)manage.py --parallel X
会覆盖来自 './app_name/settings' 的设置
任何帮助深表感谢。
spring - 如何使用 Spring 与动态 DB 端口并行运行集成测试
描述
我们有一个不断增长的应用程序,其中包含许多涉及到 redis 数据库连接的集成测试。由于数量不断增长,我们希望至少在类级别上将它们并行化。到目前为止,我们确实按顺序运行了所有测试,并com.github.kstyrc embedded-redis 0.6
在静态@BefroreClass
/@AfterClass
方法(jUnit 4)中启动(停止)了一个嵌入式 redis DB()。DB的端口始终相同-- 9736
。这也是在我们的 jedis 连接池的application.properties
via中设置的。spring.redis.port=9736
为了使并行化工作,我们必须动态获取我们的端口,并将其发布给连接工厂以进行连接池。一段时间后,我通过BeanPostProcessor
在配置中实施解决了这个问题。我剩下的问题是正确拦截 bean 生命周期和 Web 应用程序上下文。
代码片段并行测试
应用程序属性
BeanPostProcessor
实施配置
使用动态端口进行并行测试的启动和关闭
测试并行化是通过槽实现的maven-surefire-plugin 2.18.1
补充
发生的情况是,在 springs bean 初始化阶段,我们的 TestConfig 挂钩到 bean 的生命周期,并在连接池启动之前在JedisConnectionFactory
随机选择的端口上启动一个 redis 服务器。spring.redis.port=${random.int[4000,5000]}
由于 redisServer 本身是一个 bean,我们使用destroyMethod
bean 销毁时停止服务器,因此将其留给应用程序上下文生命周期。从静态端口到动态端口的从顺序到并行的过渡进展顺利。
问题
但是当我并行运行测试时,我会遇到如下错误:
java.lang.IllegalStateException: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@22b19d79 has been closed already
通过
并
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties': Initialization of bean failed; nested exception is java.lang.IllegalStateException: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@22b19d79 has been closed already
通过
帮助
我不太确定这个问题。也许我们可以省略 tearDown 调用, offerRepository.deleteAll()
因为@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
但是设置时的错误webAppContextSetup(this.wac).apply(springSecurity()).build()
仍然存在。
并行运行时应用程序上下文是否搞砸了,或者为什么设置中的应用程序上下文已经关闭?
我们是否选择了错误的方法(错误的模式)?如果是这样,我们应该改变什么?
ruby - 如何获得 rspec 的整个错误回溯?
目前我正在使用并行测试 rspec allure 0.8.0
运行测试后,我收到以下错误:
RSpec::Core::MultipleExceptionError
我需要错误的整个回溯。它是我需要传递给我用来运行的命令的一些参数吗?是否有一种永久的方式,以便它始终打印整个错误
java - TestNG 从父类继承@Parameters
我正在尝试使用 TestNG 为并发跨浏览器测试框架工作。但似乎我无法从父类中获取 @Parameters 并继续获取
测试NG.xml
基础测试
儿童测试
我没有找到有关如何使其工作的足够信息,因此如果您有任何想法,我想听听。
已检查但信息不足: TestNG Annotations in a Superclass
ruby - 带有选项的 paralell_rspec --exclude-pattern
尝试在并行运行期间排除 /home 目录中的规范。
尝试了一些类似于以下的事情:
parallel_rspec myproj -n 4 -o '--exclude-pattern "myproj/spec/home/*_spec.rb"'
parallel_rspec ./myproj -n 4 -o '--exclude-pattern "./myproj/spec/home/*_spec.rb"'
但它不排除 /home 目录中的规范。它运行 myproj 中的所有规范。
以下命令确实排除了 /home 目录中的规范,但我需要并行运行它们:
rspec myproj --exclude-pattern "myproj/spec/home/*_spec.rb"
rspec ./myproj --exclude-pattern "./myproj/spec/home/*_spec.rb"
selenium - 并行运行 cucumberJS 功能文件
我想知道 CucumberJS 是否可以并行处理正在运行的功能文件。目前,我们通过使用少数同时指向不同测试目录的 Jenkins 作业来处理并行测试,并将其传递给 selenium 网格集线器。这是可行的,因为集线器现在将处理它接收到的请求并以一种强制“并行”的方式运行它们。我们想要的主要目标是运行我们的测试,并设置最大会话数,比如 4 个,这样就有 4 个特性文件基本上可以一次运行。
我知道 cucumber 对此没有很好的支持,我怀疑 cucumberjs 是否会支持——但我确信那里有某种 npm 模块,有人已经取得了一些成功。任何帮助都会对我的团队大有裨益,而且在其他地方很少能找到 cucumberjs/protractor 用户!
java - 如何使用 selenium 网格 testng 数据提供程序执行并行跨浏览器测试
我正在尝试使用 selenium 网格和 TestNG 运行 chrome 和 Firefox 的并行测试。
我正在使用 @DataProvider 使其数据由单个 excel 文件驱动
但是,每次我尝试运行我的套件时,其中一个浏览器都会关闭并抛出以下错误堆栈,而其中一个浏览器仍然可以正常运行测试脚本:
我在 testng.xml 中有以下项目
对于之前的测试,我有以下内容,该测试位于名为 Framework 的类中,由名为 TestAll 的子类继承:
我的数据提供者方法如下,它在继承框架类的子类 TestAll 中:
我的测试方法包括以下子类 TestAll 继承框架类:
}