gpt4 book ai didi

Selenium 最佳实践 : One Long Test or Several Successively Long Tests?

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

在 Selenium 中,我经常发现自己在做类似这样的测试

// Test #1
login();

// Test #2
login();
goToPageFoo();

// Test #3
login();
goToPageFoo();
doSomethingOnPageFoo();

// ...

在单元测试环境中,您希望对每一部分进行单独测试(即,一个用于 login,一个用于 goToPageFoo,等等),以便当测试失败你知道到底出了什么问题。但是,我不确定这在 Selenium 中是否是一个好的做法。

这似乎导致了很多冗余测试,而且“知道哪里出了问题”的问题似乎并没有那么糟糕,因为通常通过查看测试进行到哪一步就可以清楚地知道出了什么问题。运行一堆“构建”测试肯定比只运行最后一个(“构建”)测试需要更长的时间。

我是否遗漏了什么,或者我应该只进行一个长测试并跳过所有构建它的较短测试?

最佳答案

我使用许多较小的测试(如您的代码示例)在 Selenium 中构建了一个大型测试套件。我这样做的原因与您完全相同。了解测试失败时“出了什么问题”。

这是标准单元测试的常见最佳做法,但如果我必须重新做一遍,我会主要采用第二种方法。在需要时使用一些较小的测试进行较大的构建测试。

原因是 Selenium 测试的运行时间比标准单元测试长一个数量级,尤其是在较长的场景中。这使得整个测试套件长得难以忍受,大部分时间都花在一遍又一遍地运行相同的冗余代码上。

当您确实遇到错误时,比如在 20 多次不同测试开始时重复的步骤中,知道您遇到相同错误 20 多次并没有多大帮助。我的测试运行程序乱序运行了我的测试,所以我的第一个错误甚至不在“构建”系列的第一个增量测试中,所以我最终查看了第一个测试失败,它是错误消息以查看失败发生的位置从。如果我使用更大的“内置”测试,我会做同样的事情。

关于Selenium 最佳实践 : One Long Test or Several Successively Long Tests?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457787/

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