2011-06-30 77 views
0

我已经记录了几个编码的UI测试,以通过我们的asp.net web应用程序中的各种数据收集步骤。但是,我们有自定义代码,当用户逐步通过“向导”(仅使用向导作为概括术语)时,即时呈现html。所以从浏览器的角度来看,用户总是在同一页面上,例如Wizard.aspx,但是当页面被回发时,不同的html被呈现,并且具有不同的控件编码的UI测试动态控件

因此,当编码测试正在运行,它有时会失败,因为在回发之后,要呈现的html没有足够快地呈现,并且搜索无法找到控件,这也发生在点击上,即播放尝试点击控制,即一个可能还没有渲染的按钮,我已经通过在步骤之间手动添加ThinkTime来纠正此问题,但感觉像是一个黑客。作为一个编码的UI测试正在进行,有没有办法让播放等待,直到控件呈现,我已经看到了WaitForControlExist方法,但我不知道在哪里使用它。

+1

部分类看起来像一个候选人放在我不得不专门为每个控制手动添加WaitForControlExist似乎不正确 – kd7

回答

0

我实际上找到了一种方法来驱动这个从配置文件没有增加手动延迟后,每一步,以防万一这有助于任何人。它在每个动作之间设置一个3秒(3000毫秒)的等待时间。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
    <add key="DelayBetweenActions" value="3000" /> 
    <add key="WaitForReadyTimeout" value="60000"/> 
    </appSettings> 
</configuration>