当前位置: 首页 > 知识库问答 >
问题:

页面对象的Selenium Java类注释

苏磊
2023-03-14

你能帮我在页面对象模式中进行类(页面)注释吗?例如:我在上部菜单和页脚中有“联系人”WebElement。使用相同的定位器。我知道,我可以用一些注释和UpperMenu.class注释Footer.class,我也可以在其中放置整个页面的选择器。测试将首先检查页面选择器,然后检查元素选择器。就像:“footer_page_selector”“联系人”=“footer_page_contacts”

也许我也可以在类中使用@FindBy注释?

@Annotation(css= .footer)
class Footer {
    @FindBy(xpath="//a[contains(@title, contact)]") private WebElement contact;
}


@Annotation(css= .upper_menu)
class UpperMenu{
    @FindBy(xpath="//a[contains(@title, contact)]") private WebElement contact;
}

共有1个答案

干浩然
2023-03-14

Selenium默认不提供此类功能。您可以在此处使用两个选项:

>

  • 使用一些Selenium包装器,例如yandex-qatools/html元素(参见GH页面上的sxample)

    有一个将页眉和页脚存储为其字段的页面对象(假设它的名称为Common Parts)。然后您可以使用相同的页面类在页脚或页眉中启动针对“联系人”的页面对象。创建实例时,您使用Common Parts的相应字段作为搜索上下文。在这种情况下,您需要“联系人”定位器是相对的(即在xPath情况下,它可以从开始。/)。请参阅此处的更多详细说明。

  •  类似资料:
    • 想象有一个页面在说http://google.com/AddUser在这里输入记录的详细信息,然后单击保存。完成此操作后,页面将重定向到 http://google.com/userList 您可以在其中查看用户列表,包括您刚刚输入的新记录。 如果我们按照页面对象模型,那么在和验证记录是否实际保存和显示的方法应该在 如果我们认为addUser和userList是两个类的对应对象,它会像下面这样:

    • 我试图使用Xpath立即从活动元素获取数据,但当我运行该项目时,我遇到了这个错误 线程“main”组织中出现异常。openqa。硒。StaleElementReferenceException:stale元素引用:元素未附加到页面文档

    • 我不熟悉Codeception,但在注入页面对象时遇到了一个问题。当我向页面对象添加以下构造逻辑时,就会出现问题。 ... 我从以下登录页面对象示例中获得:http://codeception.com/docs/06-ReusingTestCode#PageObjects 我得到的错误是: [Codeception\Exception\InjectionException]未能在“MyTest”实

    • 本章是一个针对页面对象设计模式的教程引导。 一个页面对象表示在你测试的WEB应用程序的用户界面上的区域。 使用页面对象模式的好处: 创建可复用的代码以便于在多个测试用例间共享 减少重复的代码量 如果用户界面变化,只需要修改一处 6.1. 测试用例 下面是一个在python.org网站搜索一个词并保证一些结果可以找到的测试用例。 import unittest from selenium impor

    • 人们是如何做到这一点的? 谢谢

    • 我有一个关于selenium WebDriver中页面对象的问题。我们的站点非常动态,有很多ajax和各种身份验证状态。如何定义每个页面对象,但让我们假设我已经弄清楚了,并定义了代表我们站点的几个页面对象。 你如何处理从一页到另一页的交叉?因此,我得到一个页面对象用于我的主页,一个用于我的帐户页面,一个用于我的结果页面。然后我需要编写一个遍历我所有页面的测试来模拟一个用户执行多个动作。