问题标签 [teardown]

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.

0 投票
1 回答
3433 浏览

testing - 如何在机器人框架中设置多级测试设置/拆卸

我在目录中分隔了一些机器人测试用例。目录层次结构是:

内容__init__.robot

内容TestOne.robot

内容TestTwo.robot

我有一个用 python 编写的跑步者,它使用机器人跑步者模块;这是使用命令运行测试用例的结果sudo python run.py --testsuit scenarios.ParentTestDirectory

如您所见,它只是运行最新的测试设置/拆卸。我希望它也可以从父目录运行测试设置/拆卸,它应该在子目录之前执行。换句话说,我希望在每个测试用例自己的设置之前分别运行父设置。我可以通过机器人框架功能实现这一点吗?

0 投票
1 回答
5602 浏览

python - 实例的Python unittest tearDownClass() ,如何拥有它?

我需要实例的tearDownClass(cls)方法。我的意思是我可以引用self实例),而不是cls)。
一种tearDownTestCase(self)。

我的目的是在所有测试用例运行后清理数据库。
tearDown(self)在每次测试结束时执行,我不想使用它。
当所有测试完成时, tearDownClass(cls)执行一次,但它不包含对 self 的引用,我需要访问self的属性(更准确地说是一个函数)。

有没有办法做到这一点?

蟒蛇 3.6

真实场景示例:


在 tearDown() 方法中进行清理会导致:

设置

.test 1
cleanup
测试
清理(=冗余)
。. .
.test N
清理
测试
清理

相反,我想要这个:(
如果在所有测试完成后执行 tearDownX() 方法是可能的)

设置

(测试1)
清理
测试
。. .
(测试 N)
清除
测试

tearDownX(自我)
清理(最终)

这或多或少是我在过去几年中完成测试设计的方式。它试图对中断的调试会话(无清理)和脏的初始数据库状态进行防弹。


作为临时解决方案,我在 tearDownClass(cls) 方法中复制了清理方法,但我不高兴。理想情况下,我可以简单地调用 self._cleanup_record 但这是不可能的,因为 tearDownClass 是一个类方法。

我希望这一切都是有道理的。

谢谢,

亚历山德罗

0 投票
2 回答
1414 浏览

selenium - 当@tests在不同的类中时如何拆除selenium webdriver

我有大约 5 个带有 JUnit 测试(硒测试)的不同类。我需要一种在程序结束时拆除 webdriver 的方法。所以我需要知道将@AfterClass 放在哪里以及如何将驱动程序传递给它以便可以关闭它。

我想创建一个测试套件并在那里实现 &AfterClass tearDownClass() 。但我不确定如何将驱动程序传递给它以关闭。

0 投票
1 回答
477 浏览

java - 从控制台执行脚本后不调用 tearDown()

我有测试 REST API 的 JMeter 脚本。

它配置有Junit Request

在此处输入图像描述

在测试期间,我发布了很多项目。我想在测试执行后清理数据库。我把适当的逻辑放在tearDown().

但是,我发现从控制台执行不会调用teaDown()

从 UI 启动工作正常。

这是实现tearDown()

另外,请注意使用了吞吐量整形计时器。并且参数是通过-Jload-profiles="..."

如何从控制台使 tearDown() 可执行?

0 投票
1 回答
74 浏览

java - 如何使用吞吐量整形计时器调用 tearDown()

我有测试 REST API 的 JMeter 测试计划。在执行期间,它将项目发布到 DB (POST),接下来的步骤是其他操作,如 GET、UPDATE、DELETE。

当负载很高,服务无法处理所有请求时,一些项目在测试执行后呈现在数据库中。

我试图收集所有成功创建到ConcurrentLinkedQueue。并在tearDown()方法加载完成后删除所有内容。

对于负载测试,使用吞吐量整形计时器。测试计划在非 GUI 模式下执行,负载由load_profile属性指定。

主要问题是整形计时器在设定时间后停止执行。因此tearDown()从未被执行过:

在此处输入图像描述

如何tearDown()在使用整形定时器的主要负载部分之后执行?

0 投票
1 回答
783 浏览

robotframework - Robotframework 键盘中断清理

据我所知,文档建议发出“Ctrl-C”来中止“.robot”文件(测试用例/套件)的执行。我想知道是否有办法在发出此“Ctrl-C”时添加清理机制?如果没有,您能否建议我可以使用哪些机器人 api 库来增强?

0 投票
1 回答
1592 浏览

api - Nightwatch,如何在全球范围内调用“Setup”和“Teardown”API

我刚刚开始学习 nightwatchjs 来测试我的 web 应用程序。我需要分别在其他所有操作之前和之后调用“设置”和“拆卸”脚本。这些脚本在数据库中创建测试运行的必要条件(创建测试许可证、用户等),然后将其删除。我的应用程序中有一个触发这些的 API 调用。

在 globals.js 中,如果我没记错的话,您可以设置应该在其他所有操作之前和之后执行的方法,以及before应该在每个测试套件之前和之后执行的和。似乎and方法接受对象和回调作为参数。然而, and方法只获得回调。afterbeforeEachafterEachbeforeEachafterEachbrowserdonebeforeafterdone

在特定的测试套件中,可以添加相同的四个方法,但在这种情况下,beforeandafter分别在所有内容之前beforeEachafterEach之后运行,and 在套件中的每个单独测试之前和之后运行。

理想情况下,我会在全局和方法中调用我的setupteardown脚本,但那些没有获得夜间值守(浏览器)的实例,所以我不知道该怎么做。beforeafter

beforeEach在我的全局方法中,我可以很好地触发“设置”调用。这对我来说并不理想,但它仍然可以工作,但这只是多余的(在每个测试套件之前调用它,而不是在所有东西之前调用它)。

但是,当我尝试从全局方法调用teardown脚本时遇到问题。afterEach当我运行测试时,输出在最后挂起,直到我点击CTRL+C.

这是我的 nightwatch.conf.js:

这是我的 globals.js:

这是我的测试套件:

这是输出。

那么,我错过了什么吗?为什么我不能在全局 afterEach 方法中点击 URL 而不会挂起?(我刚刚发现,如果我browser.end();从套件中的最后一个测试中删除 ,我的全局afterEach将正常工作。为什么会这样?)。在运行所有测试之前和之后是否有其他推荐的方法来访问 URL?

谢谢!任何帮助表示赞赏!

0 投票
0 回答
468 浏览

c# - 大型测试套件中间的运行时错误:无法创建更多线程

我们有一个非常大的自动化套件,需要大量时间才能运行。这些是 Windows 应用程序的 UI 测试,我们使用 LeanFT 和 NUnit。S 这不是网络,我们还没有任何类型的并行/网格解决方案启动和运行。

整个套件有大约 110 个测试,所有测试都在一个代理上运行。大约 80% 的时候,测试运行随机断开连接,我们看到了这个错误

测试套件中间出现运行时错误的原因可能是什么?有没有其他人在使用这个框架扩展他们的测试自动化时遇到过类似的事情?谢谢!

这是另一个堆栈跟踪,来自初始断开连接。这是在 hpe.leanft.runtime 日志文件中找到的

此外,在我得到上面的日志之前,我看到了数百个这样的

0 投票
2 回答
98 浏览

python - unittest 的 tearDown 和 setUp 不会以相同的方式更新属性

我正在编写一些单元测试,在每次测试之前我都有一些准备工作,并且我应该在每次测试后撤消这些测试。所以我使用 setUp 来准备它们,使用列表来列出我已经执行的操作,在 tearDown 中,我撤消所述列表中列出的操作并清除列表这样做。

但是当我到达以下测试时,列表与 tearDown 离开它的状态不同,而是在之前的 setUp 离开它的状态。而且感觉很奇怪。我在这里做错了吗?

这是一个简短的示例,没有我的业务代码:

将返回

第二个测试中的setUp不应该找到.val == []吗?之前的tearDown似乎没有改变该值,我不知道为什么。有什么想法吗?

0 投票
1 回答
634 浏览

javascript - 赛普拉斯测试未运行

在此处输入图像描述

每当我尝试运行 cypress 测试时,我都会收到此错误。我已经克隆了频谱回购,这是我第一次尝试运行柏树测试