Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 编码UI WebTest,编辑字段中有时会省略键入的字符_C#_Visual Studio 2010_Automated Tests_Coded Ui Tests - Fatal编程技术网

C# 编码UI WebTest,编辑字段中有时会省略键入的字符

C# 编码UI WebTest,编辑字段中有时会省略键入的字符,c#,visual-studio-2010,automated-tests,coded-ui-tests,C#,Visual Studio 2010,Automated Tests,Coded Ui Tests,**更新后** 对于Microsoft Dynamics环境上的系统和集成测试,我们使用Visual Studio 2010编码的UI。我是一个没有经验的VisualStudio用户,但有测试自动化的经验 每当VS编码的UI测试在编辑框中键入文本时,就会有一个更改,即必须键入的字符之一被省略。像贝弗利山庄90210这样的地址字段很容易变成贝弗利ills 90210,破坏了我的测试。它大约发生在200个字符中的1个(有根据的猜测) 以前有人经历过吗?问题可能出在哪里:VS的输入速率、键盘驱动程序损

**更新后**

对于Microsoft Dynamics环境上的系统和集成测试,我们使用Visual Studio 2010编码的UI。我是一个没有经验的VisualStudio用户,但有测试自动化的经验

每当VS编码的UI测试在编辑框中键入文本时,就会有一个更改,即必须键入的字符之一被省略。像贝弗利山庄90210这样的地址字段很容易变成贝弗利ills 90210,破坏了我的测试。它大约发生在200个字符中的1个(有根据的猜测)

以前有人经历过吗?问题可能出在哪里:VS的输入速率、键盘驱动程序损坏、浏览器出现故障以致无法正确接收文本输入等等

是否有可能降低VS编码ui中测试驱动程序的键入率

更新,2012-05-24: 仍然没有找到解决办法。我现在使用的变通方法可以减少失败的变化,但仍然不理想

变通代码(是的,它是脏的):

每当我使用一段设置了文本字段的代码时,我都通过以下方法调用它:

UIMap.SetUserfieldsParams.EnterAddress = @"555 Sunset Boulevard";
UIMap.SetUserfieldsParams.EnterZIP = @"90210";
ExecuteWithRetry(UIMap.SetUserfields);

更新,2012-06-18:这似乎是由我们使用的模拟造成的。通过启动IE的用户名直接从AD服务器提取web应用程序的登录用户。通过模拟启动IE,我们可以与其他用户一起进行测试,而无需(手动)注销并登录Windows。我们通过在命名空间
System.Diagnostics.Process
中使用
Process.Start(ProcessStartInfo startInfo)
来使用模拟。我的第一个猜测是,它之所以发生,是因为键入速度太快,而您的应用程序还没有准备好接收下一个键。您可以使用键盘更改输入按键之间的时间。SendKeysDelay,我的机器上的默认值至少为10毫秒


您是否碰巧关闭了“继续打开错误”?我有点惊讶,您没有得到一个异常,在输入值时停止测试。

我刚刚发现了PlayBackSettings.DelayBetween选项,假设它用于UI上的操作之间,而不是内部操作(因为键入速度快于10个字符/秒),但肯定值得一试。Continue on error已关闭,因此在验证刚设置的值时出现异常。下周,当我回到那个项目时,我可以让你知道。你是对的,它似乎不会影响键盘输入。。。更改键盘输入速度的正确方法是keyboard.SendKeyDelayOK,我更改了keyboard.SendkeyDelay设置,但问题仍然存在,即使我将超时设置为50毫秒(当必须设置大量数据时,速度非常慢)。还在搜索,我会通知你的。失败有共同的线索吗?是在同一个控件上还是在同一个控件上?作为一种解决方法,您可以始终打开“继续出错”,并在失败时捕获/重试。不,它发生在EditBox、ComboBox和editable textarea上。奇怪的是,我已经在其他机器上尝试过了,但这只发生在这台电脑上。我想我会让it服务团队在这台电脑上安装一个新的操作系统。可能是因为一些驱动程序或dll出现了问题。
UIMap.SetUserfieldsParams.EnterAddress = @"555 Sunset Boulevard";
UIMap.SetUserfieldsParams.EnterZIP = @"90210";
ExecuteWithRetry(UIMap.SetUserfields);