Measure Response Times
Learn how to measure text execution times using BELLATRIX desktop module.
Example
using Bellatrix.TestExecutionExtensions.Common.ExecutionTime;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Bellatrix.Desktop.GettingStarted
{
[TestFixture]
[ExecutionTimeUnder(2000, TimeUnit.Milliseconds)]
public class MeasureTestExecutionTimesTests : DesktopTest
{
[Test]
public void MessageChanged_When_ButtonHovered_Wpf()
{
var button = App.Components.CreateByName<Button>("E Button");
button.Hover();
var label = App.Components.CreateByAutomationId<Label>("ResultLabelId");
Assert.AreEqual("ebuttonHovered", label.InnerText);
}
}
}
Explanations
[TestFixture]
[ExecutionTimeUnder(2000, TimeUnit.Milliseconds)]
public class MeasureTestExecutionTimesTests : DesktopTest
Sometimes it is useful to use your functional tests to measure performance. Or to just make sure that your app is not slow. To do that BELLATRIX libraries offer the ExecutionTimeUnder attribute. You specify a timeout and if the test is executed over it the test will fail.
using Bellatrix.TestExecutionExtensions.Common.ExecutionTime;
You need to add the NuGet package- Bellatrix.TestExecutionExtensions.Common. After that you need to add a using statement to Bellatrix.TestExecutionExtensions.Common.ExecutionTime