gpt4 book ai didi

angularjs - 所有测试运行后删除 e2e 测试中创建的记录

转载 作者:行者123 更新时间:2023-12-02 22:53:12 24 4
gpt4 key购买 nike

我一直在寻找合适的方法来“清理”使用 Protractor 运行测试后创建的记录。

举个例子,我有一个测试套件,当前在创建和更新屏幕上运行测试,但目前没有删除功能,但是我可以针对后端 API 找到一个删除端点。

所以我采取的方法是记录创建的记录的 id,以便在 afterAll 中我可以发出请求以对该记录执行删除操作。

例如:

beforeAll(function() {
loginView.login();
page.customerNav.click();
page.customerAddBtn.click();
page.createCustomer();
});

afterAll(function() {
helper.buildRequestOptions('DELETE', 'customers/'+createdCustomerId).then(function(options){
request(options, function(err, response){
if(response.statusCode === 200) {
console.log('Successfully deleted customer ID: '+ createdCustomerId);
loginView.logout();
} else {
console.log('A problem occurred when attempting to delete customer ID: '+ createdCustomerId);
console.log('status code - ' + response.statusCode);
console.log(err);
}
});
});
});

//it statements below...

虽然这有效,但我不确定这是好还是坏方法,如果是后者,还有什么替代方案。

我这样做是为了防止随着时间的推移添加大量的虚拟测试记录。我知道您可以在测试运行之间清除数据库,例如通过 CI 服务器上的脚本或类似内容,但这不是我\我们进一步研究的内容。另外,这种方法表面上看起来更简单,但我再次不确定直接在测试规范文件中这种方法的实用性。

有人可以提供进一步的意见\解决方案吗?

谢谢

最佳答案

好吧,就其值(value)而言,我基本上使用完全相同的方法。我们有一个端点,可以根据 ID 重置特定用户的数据,我也在 beforeAll() block 中点击该端点,以便在每次运行之前将数据重置为预期状态(我可以毕竟也这样做了,但有时人们会弄乱测试帐户,所以我之前就这样做了)。所以我只是获取用户 ID 并发送 http 请求。

我无法真正谈论它的实用性,因为这只是我完成的一项任务,而且它对我来说非常有效,所以我认为不需要其他选择。只是想让您知道您并不孤单地采用这种方法:)

我很好奇其他人是否有替代解决方案。

关于angularjs - 所有测试运行后删除 e2e 测试中创建的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39388556/

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