请让我知道自动化测试工具(如编码 ui 或任何其他工具)中手写代码和录制脚本之间的区别。问候, 拉吉
1 回答
通过“手写”,我假设您的意思是手动编码......
我可以看到几个原因。编码经验非常棒。如果您编写自己的测试代码,这将是一项值得的投资,因为您可以学到很多关于您正在使用的测试框架(CodedUI、Selenium 等)以及您正在使用的语言(Java、C#)的知识。使用内置的框架方法手动编写这些测试代码将为您提供良好的服务,并为您提供比自动回放工具更多的知识。
自动播放工具会产生可怕的代码。丑陋的代码、糟糕的命名、没有遵循最佳实践以及不可靠的定位方法。
播放工具将简单地使用最简单的方法来查找元素。这并不总是最好的。一个典型的例子是 XPath。
最值得注意的是,XPath 是一个强大的工具,它可以为您提供所需的任何元素(或者至少,我从未发现不能使用 XPath 的情况),但是回放工具会产生可怕的 XPath 查询,纯粹基于位置。 .让我们举个例子。
您有一个包含 100 个提要项的页面。您希望在执行特定操作后验证此页面上显示的提要项目,但它不仅显示,而且是第一个。您不能使用 ID 等,因为标记制作不当,因此您必须使用 XPath。
回放工具可能会生成一个非常奇怪的 XPath,例如://div[1]/span[2]/table[1]/tbody[1]/tr[10]/[td[2]/a[text()='Test']
.
看起来很奇怪,对吧?
这将工作几次,但如果应用程序将另一个tr
元素推到表格顶部会发生什么?现在,tr[10]
不会是你想要的元素,它会是tr[11]
.
通过手动编码,您可以解决这个问题,您可以输入逻辑来解决这个问题。播放工具不会。
我强烈建议您自己编写这些测试。你不需要几年的经验来做这件事,你不需要任何编程学位。你需要时间。
回放工具的功能也将受到限制……您想在测试失败时截屏吗?我非常怀疑播放工具会做到这一点,您需要自己输入逻辑。然而,这并不难做到自己。
也可能有商业原因 - 回放工具可以更快地将手动测试转换为自动化测试,但它们并不可靠 - 您需要有时间致力于使其可靠和快速。最好把时间花在自己编写代码上。