gpt4 book ai didi

c# - 使用 FLAUI 等待应用程序启动而不使用 Thread.Sleep()

转载 作者:行者123 更新时间:2023-11-28 20:49:53 24 4
gpt4 key购买 nike

我是 FLAUI 和自动化测试的新手,想用它来测试我的系统。目前我正在使用 Thread.Sleep() 等待应用程序启动,然后找到登录文本框。有没有比使用 Thread.Sleep() 更有效的方法来做到这一点?

此时我启动应用程序并使用 Thread.sleep(10000) 等待应用程序完全启动并且可以找到登录文本框,然后单击控件输入密码以进入应用程序。但是我知道 Thread.Sleep 是告诉系统等待的最糟糕的方式,尤其是在自动化测试中。谁能提供任何其他我可以测试的东西?

最佳答案

最好使用重试机制并等待主窗口加载和控件可见。例如,在调用 Application.Launch 之后,您最多可以重试 30 秒以找到主窗口和其中的 txtLogin:

        Retry.WhileException(() =>
{
using (var automation = new UIA3Automation())
{
Window mainWindow = Application.GetMainWindow(automation, TimeSpan.FromSeconds(60));

Assert.IsNotNull(Mainwindow, "Main window is not found");

TextBox loginTextBox = mainWindow.FindFirstDescendant(x => x.ByAutomationId("txtLogin")).AsTextBox();

Assert.IsNotNull(loginTextBox, "txtLogin is not found");
}

}, TimeSpan.FromSeconds(30), null, true);

关于c# - 使用 FLAUI 等待应用程序启动而不使用 Thread.Sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51026119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com