Shadow Dom为网页开发者提供了非常强大而又使用的解决方案。但是,Shadow Dom对象却给了自动化测试带来了很大的挑战,因为它的元素是隐藏在影子脚本技术(shadow root technically)中,而不存在与网页的文档中。因此,依赖于XPath或者querySelector的自动化测试框架将无法对定位Shadow Dom中的元素。
Katalon为此提供了解决方案。首先,用户通过Spy Web的功能取捕获包含Shadow DOM元素的父对象。
下一步则是验证Shadow DOM中元素的属性,以及在Katalon中创建一个新的对象并相应地定义它的属性。
在设置新的对象时,选择Shadow Root Parent给它定义在第一步中捕获的与其相关的父对象。这允许Katalon能够通过生成的CSS选择器来遍历其父对象,以通过其属性来检测Shadow DOM中的元素。
举个例子,接下来的例子中的测试执行日志表明Katalon将会先尝试去找到其父对象。一旦父对象被发现,那么Katalon将会尝试通过CSS选择器去找到Shadow DOM中的元素
使用限制
目前该功能只限于Chrome 53以上的版本;
只能实现在只有一层折叠隐藏的Shadow DOM中的元素
Spy and Record Web功能对Shadow DOM元素是无法捕获的