编码的UI WebTest,有时在编辑字段中会省略键入的字符
作者:互联网
**更新后**
对于我们在Microsoft Dynamics环境中的系统和集成测试,我们使用Visual Studio 2010编码的UI.我不是Visual Studio的经验丰富的用户,但是具有测试自动化的经验.
每当VS-Code-UI测试在编辑框中键入文本时,都会发生变化,即忽略了必须键入的字符之一.比佛利山庄90210之类的地址栏很容易成为贝弗利病90210,这打破了我的考验.它发生在200个字符中的1个左右(有根据的猜测).
有人经历过吗?问题可能在何处:VS的输入速率,键盘驱动程序损坏,浏览器打ic,因此无法正确接收文本输入,还有其他问题吗?
是否有可能降低VS编码的ui中测试驱动程序的键入率?
更新,2012-05-24:
仍未找到解决方案.我现在使用一种变通的方法来减少失败的改变,但这仍然不是理想的.
解决代码(是的,它很脏):
// put this method in a base class or easy accessable component
protected void ExecuteWithRetry(Action method, int maxRetryCount = 2)
{
try
{
method();
}
catch (Exception)
{
if (maxRetryCount > 0)
{
ExecuteWithRetry(method, maxRetryCount - 1);
}
else
{
throw;
}
}
}
每当我使用设置了文本字段的一段代码时,都会通过以下方法调用此代码:
UIMap.SetUserfieldsParams.EnterAddress = @"555 Sunset Boulevard";
UIMap.SetUserfieldsParams.EnterZIP = @"90210";
ExecuteWithRetry(UIMap.SetUserfields);
UPDATE,2012-06-18:似乎是由于我们使用的假冒行为引起的.通过启动IE的用户名直接从AD服务器中提取了我们Web应用程序的登录用户.通过模拟启动IE,我们可以与其他用户进行测试,而无需(手动)注销并登录Windows.我们通过在命名空间System.Diagnostics.Process中使用Process.Start(ProcessStartInfo startInfo)使用模拟
解决方法:
我的第一个猜测是它正在发生,因为它正在快速键入并且您的应用程序尚未准备好接收下一个密钥.您可以使用KeyBoard.SendKeysDelay更改两次输入键之间的时间,我的机器上的默认时间至少为10毫秒.
您是否碰巧关闭了继续出错的功能?令您感到惊讶的是,您没有遇到在输入值时停止测试的异常.
标签:coded-ui-tests,automated-tests,visual-studio-2010,c 来源: https://codeday.me/bug/20191201/2082070.html