我对测试环境还不熟悉,但我遇到了问题。
我创建了一个测试用例(在一个有序测试中结合了一些测试),当我在自己的电脑上运行它们时,它们总是通过(尝试多次以确定)但是当我在我们的服务器上运行测试时测试在随机时间失败。 示例 - 他没有右键单击列表来获取上下文菜单 - 他似乎忘记点击按钮,因此无法访问下一个窗口。等等 如果我再次运行测试,他可能会重复上一次失败,但在其他事情上失败。
到目前为止。超过+ - 30次我运行他测试我有5次成功运行。这应该是一个基础测试,所以应该没有错误或已知问题。 我觉得服务器需要更多时间来完成测试。所以我做了研究,并且已经添加了许多回放设置和Playback_PlaybackError。 Visual Studio 2013中的测试用例部分用记录部分编写的代码。使用microsoft test manager 2013,win8 envir 进行Visual Studio和服务器测试有什么我做错了吗?或者服务器配置有问题吗?
提前致谢。
到目前为止,我尝试了其中一些(并在每个测试方法中重复)
public CodedUITest1()
{
Playback.PlaybackSettings.MatchExactHierarchy = true;
Playback.PlaybackSettings.SmartMatchOptions = SmartMatchOptions.Control;
Playback.PlaybackSettings.SmartMatchOptions = SmartMatchOptions.TopLevelWindow;
Playback.PlaybackSettings.SmartMatchOptions = SmartMatchOptions.None;
Playback.PlaybackSettings.SearchTimeout = 2000;
Playback.PlaybackSettings.ShouldSearchFailFast = true;
Playback.PlaybackSettings.ThinkTimeMultiplier = 2;
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled;
Playback.PlaybackSettings.WaitForReadyTimeout = 2000;
Playback.PlaybackError -= Playback_PlaybackError;
Playback.PlaybackError += Playback_PlaybackError;
}
/// <summary> PlaybackError event handler. </summary>
private static void Playback_PlaybackError(object sender, PlaybackErrorEventArgs e)
{
// Wait a second
System.Threading.Thread.Sleep(1000);
// Retry the failed test operation
e.Result = PlaybackErrorOptions.Retry;
}
答案 0 :(得分:1)
似乎问题是基于服务器的。我添加了一个全局延迟的动作,测试似乎运行得非常顺利。问题已解决
答案 1 :(得分:1)
尝试使用
yourcontrol.WaitForControlReady()
在执行任何控制操作之前,也起作用。此功能将停止线程,直到您的控件准备好接受任何操作。
答案 2 :(得分:0)