Testing 自动化测试中手写代码与记录脚本的区别

Testing 自动化测试中手写代码与记录脚本的区别,testing,automation,coded-ui-tests,Testing,Automation,Coded Ui Tests,请让我知道手工编写的代码和自动化测试工具(如编码ui或任何其他工具)中记录的脚本之间的区别。 当做 Raj我想你指的是手工编码的 我可以看出几个原因。编码经验非常丰富。如果您编写自己的测试代码,这将是一项值得投资的投资,因为您可以了解很多关于您正在使用的测试框架(CodedUI、Selenium等)以及您正在使用的语言(Java、C#)。使用内置的框架方法手动编写这些测试,将很好地为您服务,并提供比自动回放工具更多的知识 自动播放工具会产生可怕的代码。代码丑陋、命名错误、未遵循最佳实践以及不可靠

请让我知道手工编写的代码和自动化测试工具(如编码ui或任何其他工具)中记录的脚本之间的区别。 当做
Raj

我想你指的是手工编码的

我可以看出几个原因。编码经验非常丰富。如果您编写自己的测试代码,这将是一项值得投资的投资,因为您可以了解很多关于您正在使用的测试框架(CodedUI、Selenium等)以及您正在使用的语言(Java、C#)。使用内置的框架方法手动编写这些测试,将很好地为您服务,并提供比自动回放工具更多的知识

自动播放工具会产生可怕的代码。代码丑陋、命名错误、未遵循最佳实践以及不可靠的定位方法

回放工具将简单地使用最简单的方法来查找元素。这并不总是最好的。一个典型的例子是XPath

最值得注意的是,XPath是一个功能强大的工具,它可以为您提供所需的任何元素(或者至少,我从未发现XPath无法使用的情况),但回放工具将纯粹基于位置生成可怕的XPath查询……让我们举个例子

您有一个包含100个提要项的页面。您希望在特定操作之后验证此页面上是否显示了提要项,但它不仅显示了提要项,而且是第一个提要项。不能使用ID的etc,因为标记制作得很糟糕,所以必须使用XPath

回放工具可能会生成一个非常奇怪的XPath,如:
//div[1]/span[2]/table[1]/tbody[1]/tr[10]/[td[2]/A[text()='Test']

看起来很奇怪,对吧

这可以工作几次,但是如果应用程序在表的顶部有另一个
tr
元素,会发生什么呢?现在,
tr[10]
不是你想要的元素,而是
tr[11]

通过手工编码,你们可以解释这一点,你们可以用逻辑来解决这个问题。回放工具的习惯

我强烈建议您自己编写这些测试。您不需要几年的编程经验,也不需要任何编程学位。您需要时间

回放工具的功能也会受到限制…你想在测试失败时截图吗?我非常怀疑回放工具能做到这一点,你需要自己加入逻辑。不过,这并不难自己做到


可能还有一个商业原因-回放工具可以更快地将手动测试转换为自动测试,但它们不可靠-您需要有时间致力于使它们可靠和快速。首先,最好是自己编写代码。

我想您指的是手动编写的…

我可以看到一些原因。编码经验非常出色。如果您编写自己的测试,这将是一项值得投资的投资,因为您可以了解很多您正在使用的测试框架(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]

通过手工编码,你们可以解释这一点,你们可以用逻辑来解决这个问题。回放工具的习惯

我强烈建议您自己编写这些测试。您不需要几年的编程经验,也不需要任何编程学位。您需要时间

回放工具的功能也会受到限制…你想在测试失败时截图吗?我非常怀疑回放工具能做到这一点,你需要自己加入逻辑。不过,这并不难自己做到


可能还有一个商业原因-回放工具可以更快地将手动测试转换为自动测试,但它们并不可靠-您需要有时间致力于使其可靠和快速。首先,最好是自己编写这些测试。

什么是
手写代码
?单元测试?你所说的
手写代码是什么意思?
?单元测试?愚蠢的问题。关于编码测试和琐碎记录的维护。这两个中的哪一个更难维护。愚蠢的问题。关于编码测试和琐碎记录的维护。这两个中的哪一个更难维护。