我正在尝试创建一个脚本,我可以在其中检查该元素是否显示在 UWP 应用程序上。我有一个方法可以检查元素是显示还是不显示..
如果元素实际显示并且我调用了“IsElementDisplayed”,则测试似乎工作正常并继续执行测试。但是当元素真的没有显示并且我调用了“IsElementDisplayed”时,它不会返回 false boolean值..但它只是停止测试执行并说,“没有找到这样的给定参数”......
请检查我的示例代码....
我有一个包含我的定位器并返回 WindowsElement 实例的类:
protected WindowsElement Id(string id)
{
return Driver.FindElementById(id);
}
protected WindowsElement XPath(string xpath)
{
return Driver.FindElementByXPath(xpath);
}
protected WindowsElement Name(string name)
{
return Driver.FindElementByName(name);
}
protected WindowsElement AccessibilityId(string id)
{
return Driver.FindElementByAccessibilityId(id);
}
然后我有 Page 类,其中包含我的元素的属性.. 下面的示例代码:
public WindowsElement SaveObligation_Btn => this.AccessibilityId("OBLGTN_saveObligation_btn");
public WindowsElement CancelObligation_Btn => this.AccessibilityId("OBLGTN_CancelObligation_btn");
public WindowsElement ObligationAdd_Btn => this.AccessibilityId("SMMRY_AddObligation_btn");
最后,我有一个 testhelper 类,其中包含以下方法:
public bool IsNotDisplayed(WindowsElement element)
{
try
{
Assert.IsFalse(element.Displayed, $"Element: {element} is not displayed on the page!");
return false;
}
catch (Exception)
{
return true;
}
}
但是当我尝试调用“IsNotDisplayed”方法以在它捕获到任何异常时返回 false ..,我的测试执行停止并且我将有一个指向我的 Locator 类的错误并说,“找不到元素与给定参数”...
我希望方法“isNotDisplayed”应该返回错误的布尔值,所以我可以验证元素是否可见。