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