框架成分-黄瓜和硒(Java),页面对象模型和页面工厂。
目前,我正在按照以下方式编写定位符-
Class-> HomePage.java
@FindAll({
@FindBy(css = HomePageLocators.factoryBouncePopUp),
@FindBy(xpath = HomePageLocators.outletBouncePopUp),
}) public List<WebElement> bouncePopUp;
Class-> HomePageLocators.java
public final static String factoryBouncePopUp = "div[id*=bx-creative] > div > a";
public final static String outletBouncePopUp = "//button[contains(.,'NO THANKS, I PREFER TO PAY FULL PRICE')]";
我们知道,我们可以将定位符作为常量传递给@FindBy批注。因此,我开始在Java类中写下定位器。事情进展顺利。
但是我一直在想在一个外部文件中写一个定位器,说json,特别是当定位器数量巨大时,比如说600,维护json中的定位器会更容易。我遇到了下面的链接,了解如何可以从页面工厂中的json访问定位器。
我想从绩效的角度了解这个社区的意见,哪种方法是可取的。如果性能会成为问题,我不会考虑将JSON与页面工厂一起使用。
如果Json可以在性能竞赛中获胜,那么除了上述链接之外,任何人都可以建议我在页面工厂中实现json的任何来源。
任何想法都将不胜感激。
答案 0 :(得分:1)
如果您要在这种情况下访问定位器值,则java中的Interface是最佳选择。您无需与任何其他文件类型进行交互。在interface中,您可以直接获取数据,并且它也是静态的,最终您可以只能将其命名为Interface name.LocatorName。这不会影响您的表现。