1

执行的步骤
1. 打开需要以编程方式输入数据的网页
2. 通过传递元素 ID 检索元素实例。
3.通过传递element和textToSet在ArtOfTest.WebAii.TestTemplates.BaseTest类的Actions实例中调用SetText函数

预期的解决方案
始终需要在文本框中输入文本。

实际输出
文本并不总是输入文本框中。有时输入正确,有时在不输入值的情况下跳过它。调试时,观察到,元素实例被正确检索并调用了 SetText 函数并且没有抛出异常。未输入值时,在函数顶部再次设置控件并再次运行将在文本框中设置值。

谁能告诉我这种奇怪行为的原因?如果需要更多详细信息,请告诉我。

4

1 回答 1

0

您的描述听起来像是时间问题。由于测试脚本通常运行得非常快,因此它们很容易超过您的 Web 应用程序。如果您的测试在调试时运行(即运行缓慢或单步运行),但在全速运行时间歇性地失败,您几乎肯定会遇到时间问题。当您的测试脚本尝试将数据输入其中时,您的 Web 应用程序可能还没有准备好接受文本输入,如果您的 Web 应用程序正在执行 AJAX 回发,这是一个非常常见的问题。解决此类问题的最简单方法是在 SetText 调用之前添加一个固定延迟。更高级的技术是监视 Web 应用程序中包含的某些属性或元素,以检测它何时准备好输入并等待设置。

Cody Telerik 技术支持团队

于 2011-04-11T15:26:15.813 回答