【发布时间】:2015-09-18 13:07:20
【问题描述】:
我正在尝试编写一个需要访问 iframe 中元素的测试。 (想象一个有 20 把椅子的房间,每把椅子都是它自己的对象,我需要能够使用这些椅子)。使用开发人员工具和元素查找器,它只突出显示 iframe,但不允许我访问。我对测试非常陌生,所以我很茫然。
高亮iframe时html中的元素是这样的:
<iframe name="daasFrame" class="daas-surface" frameborder="0" width="100%" height="100%" ng-src="/Drawing/EventDiagram/e020c975-6f1f-4c6c-bf34-34fa7221c8f3/?venueId=&seatingStyle=theater&language=en&units=Imperial&theme=default&shiftHeader=true"
src="/Drawing/EventDiagram/e020c975-6f1f-4c6c-bf34-34fa7221c8f3/?venueId=&seatingStyle=theater&language=en&units=Imperial&theme=default&shiftHeader=true"></iframe>
我认为仅在测试中我就可以切换到,但是我不知道将调用哪些元素进行交互。
【问题讨论】:
-
您的意思是要使用量角器代码获取 iframe 中的元素?或者您想使用开发人员工具访问它们,以便您可以使用这些元素进行编码?
-
我使用相反的方式...在 iframe 上,您可以使用 parent.anyFunction() 访问调用方的函数...然后,在 iframe init 上,我调用类似 parent.getConfig( ),然后我会执行所需的操作。
-
@Girish 我编写测试的方式是通过开发人员工具上的元素选择器。 Chrome 有一个元素定位器,它允许我单击一个元素并将代码带给我。但是我无法获取 iframe 的 html。我不知道如何
-
我明白了,所以你想获取 iframe 中的元素,这样你就可以使用它们来自动化一些事情。正确的?如果是这样,你想如何得到它?是使用元素定位器还是使用量角器代码?
标签: javascript angularjs iframe selenium-webdriver protractor