gpt4 book ai didi

java - Selenium Webdriver - PageObject 和驱动程序指针

转载 作者:行者123 更新时间:2023-11-30 04:33:59 25 4
gpt4 key购买 nike

我正在使用 PageObjects 在 Selenium Webdriver 中制作一个测试套件,但我怀疑即使驱动程序指向不同的框架,WebElement 引用的实例是否也可以工作?我正在为其编写测试的网站有很多框架(不,我不能停止使用框架:-)),并且每个网站上的一个框架元素是顶栏。我想为该框架创建一个 PageObject,我可以从包含它的其他 PageObject 中初始化和使用它。

但是我怀疑当驱动程序转移到另一个框架时是否可以使用 WebElements。

示例:

  1. 创建并初始化新的 HomePage PageObject
  2. 切换到(帧1)。切换到(第2帧)
  3. 从构造函数中创建一个 TopBar 对象,该对象使用上面的驱动程序位置来初始化/实例化元素。我现在在该 PageObject/框架中引用了一个名为 elmTopBar 的 WebElement
  4. 在主页中,驱动程序从该框架切换(返回到frame0)并执行一些其他工作

  5. 我对 elmTopBar 的“旧”引用仍然可以从此驱动程序位置(相同的驱动程序对象)工作,还是仅当驱动程序每次都指向frame2时才工作(这意味着我必须 switchTo + 初始化 TopBar 对象每次主页需要顶部栏中的内容时)?

我知道,如果我从不同的框架中进行元素搜索,它将找不到其他框架中的对象,但我的问题是,当您创建/保存对 WebElement 的引用时,即使在执行完之后,它是否仍然“永远”可用switchTo(frameX) 与驱动程序。

提前致谢!

最佳答案

没有。您每次都必须“重新找到”该对象。 Selenium 可能会提示该对象不再位于缓存中或附加到 DOM。

关于java - Selenium Webdriver - PageObject 和驱动程序指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13929098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com