gpt4 book ai didi

coded-ui-tests - CodedUI - 检查控件是否存在

转载 作者:行者123 更新时间:2023-12-02 09:23:43 24 4
gpt4 key购买 nike

我有一个带有登录按钮的网页,只需单击该按钮即可访问该站点。这很容易通过写这个来完成:

//点击登录按钮

        UITestControl Login = new UITestControl(Browser);
Login.TechnologyName = "Web";
Login.SearchProperties.Add("ControlType", "Button");
Login.SearchProperties.Add("Type", "Submit");
Login.SearchProperties.Add("DisplayText", "Log In");
Mouse.Click(Login);

但是,在您第一次登录后,您会保持登录状态一个小时(如果闲置超过一个小时会自动注销)。如果您在一个小时内多次访问该站点,将没有登录按钮,因为您仍然处于登录状态,所以每次我运行测试时,它都会立即出错,因为它找不到控件。

我希望这是有道理的,这里是一个概要:

首次访问站点 - 出现登录屏幕,单击登录按钮,进入随后访问站点 - 未出现登录屏幕,无需登录

所以基本上我想说,“如果有登录按钮,点击它然后做下一步,如果没有登录按钮,然后做下一步”

最佳答案

您可以使用 TryFind() 方法。

 UITestControl Login = new UITestControl(Browser);
Login.TechnologyName = "Web";
Login.SearchProperties.Add("ControlType", "Button");
Login.SearchProperties.Add("Type", "Submit");
Login.SearchProperties.Add("DisplayText", "Log In");

// TryFind() returns true if it's in the Markup somewhere, even if hidden.
// By testing Width > 0 && Height > 0, we make sure it is visible.
// If it were Hidden and we did not use TryFind() before checking Height
// or Width, there would be an exception thrown.
if(Login.TryFind() && Login.Width > 0 && Login.Height > 0)
{
Mouse.Click(Login);
}

您还可以使用 TryGetClickablePoint 方法来代替查找宽度和高度。

 Point p;
if(Login.TryGetClickablePoint(out p))
{
Mouse.Click(Login);
}

关于coded-ui-tests - CodedUI - 检查控件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39594969/

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