C# Atata:找不到复选框元素
当我在C# Atata:找不到复选框元素,c#,automated-tests,ui-automation,atata,C#,Automated Tests,Ui Automation,Atata,当我在复选框元素上使用[VerifyExists]时,我收到一个错误,尽管当我使用通过框架生成的XPath时,我可以找到该元素 错误消息: Message: OpenQA.Selenium.NoSuchElementException : Unable to locate element: By.XPath: .//*[normalize-space(@id) = 'active-checker']/descendant-or-self::input[@type='checkbox'] 实施:
复选框
元素上使用[VerifyExists]
时,我收到一个错误,尽管当我使用通过框架生成的XPath
时,我可以找到该元素
错误消息:
Message: OpenQA.Selenium.NoSuchElementException : Unable to locate element: By.XPath: .//*[normalize-space(@id) = 'active-checker']/descendant-or-self::input[@type='checkbox']
实施:
[VerifyExists]
[FindById("isCommentRequred-checker")]
public CheckBox<_> RequestsWorklogCommentCheckBox { get; private set; }
[验证存在]
[FindById(“ISCOMMENTREQUIRED检查器”)]
public CheckBox RequestsWorklogCommentCheckBox{get;private set;}
手动搜索元素:
[VerifyExists]
[FindById("isCommentRequred-checker")]
public CheckBox<_> RequestsWorklogCommentCheckBox { get; private set; }
我猜这是因为实际的
在页面上是不可见的(或者具有不透明度:0
)。默认情况下,大多数控件的Atata在控件元素搜索期间按可见性过滤元素,并且只保留可见元素
尝试设置可见性=可见性。任何:
[FindById("isCommentRequred-checker", Visibility = Visibility.Any)]
通常复选框和单选按钮是不可见的,而其他元素渲染它并接收单击。只需检查HTML,然后尝试使用Atata或纯WebDriver单击它。如果它抛出异常,您可能需要实现自定义控件,以便它单击例如span.control label
元素
下面是剑道UI复选框的控制示例:比你强,耶![VerifyExists][FindById(“活动检查器”,可见性=可见性.Any)]对我有效。这也解决了我在RadioButton上遇到的问题,尽管最终我必须通过XPath访问标签才能获得它。