我已经记录了几个编码的ui测试,以逐步完成我们的asp.net Web应用程序中的各种数据收集步骤。但是,我们有自定义代码,当用户单步执行“向导”(仅使用向导作为通用术语)时,可以动态呈现html。因此,从浏览器的角度来看,用户将始终位于同一页面上,例如Wizard.aspx,但是当页面被回发时,将呈现不同的html,具有不同的控件
因此,当编码测试运行时,它有时会失败,因为在回发后,要呈现的html没有足够快地呈现并且搜索无法找到控件,这发生在点击上好吧,即播放试图点击一个控件,即一个可能尚未渲染的按钮,我已经通过手动在步骤之间添加ThinkTime来纠正这个问题,但感觉就像一个黑客。由于编码的ui测试正在进行,有没有办法让Playback等到呈现控件,我已经看到了WaitForControlExist方法,但我无法弄清楚在哪里使用它。
答案 0 :(得分:0)
我实际上找到了一种方法来从配置文件中驱动它,而不会在每个步骤后添加手动延迟,以防这对任何人都有帮助。它在每个动作之间设置3秒(3000毫秒)的等待时间。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DelayBetweenActions" value="3000" />
<add key="WaitForReadyTimeout" value="60000"/>
</appSettings>
</configuration>