我想使用 C# + Selenium 在 Angular 中编写输入文本字段的自动化测试。问题是在 UI 中的 Angular 应用程序上的书面文本在 DevTools 中不可见,在输入中不可见,因此自动化测试无法通过 CSS 选择器或 Xpath 访问它。如何在自动化测试中访问 DevTools 中的文本?
问问题
39 次
1 回答
0
通常,输入字段文本值不会被元素属性(DOM 属性)反映,因此无法被任何选择器跟踪。
但是您可以在元素属性中找到该值。
要读取您可以调用的getAttribute
值WebElement
。
driver.findElement(by).getAttribute('value')
如果要按值查找特定元素(将值用作选择器),则应获取具有相同选择器的所有元素
driver.findElements(by)
然后迭代并检查getAttribute('value')
匹配。
这是一种通用的方法,Angular 元素可能会引入一些差异,但无论如何,请尝试查看元素属性。
于 2021-12-03T13:52:54.237 回答