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

如何用selenium和C#为页面对象模型添加可重复节?

华凯捷
2023-03-14

我正在尝试使用Selenium和C#实现web测试的自动化。

我有一个web应用程序,它的某些部分(如页眉和页脚)在多个页面上重复。

假设我有SecA,SecB,secc部分。在我的页面中,它将显示为第1页将有{SecA,SecB,SecC},第2页将有{SecA,SecB},第3页将有{SecB,SecC}。

共有1个答案

邹浩
2023-03-14
//SecA:
public class SecA
    {
    [FindsBy(How = How.Id, Using = "Id")]
    private IWebElement SecAField;
    //Add Getters, setters, methods, constructors, etc..

}

//SecB:
public class SecB
{
    [FindsBy(How = How.Id, Using = "Id")]
    private IWebElement SecBField;
    //Add Getters, setters, methods, constructors, etc..
}

//SecC:
public class SecC
{
    [FindsBy(How = How.Id, Using = "Id")]
    private IWebElement SecCField;
    //Add Getters, setters, methods, constructors, etc..
}

//Page 1:

public class Page1
{
    public SecA secA { get; set; }
    public SecB secB { get; set; }
    public SecC secC { get; set; }

    //Add Getters, setters, methods, constructors, etc..
    public Page1()
    {
        secA = new SecA();
        secB = new SecB();
        secC = new SecC();
    }
}
 类似资料:
  • 我正在尝试使用Selenium和JAVA实现web测试的自动化, SmallBusinessPage.java 标题 页脚

  • 我正在进行UI自动化测试,使用POM与Python和Selenium。我想知道如何处理重复的测试用例。 例如,您有两个网页:登录页和主页。我想测试三个测试用例。 未登录的主页功能:登录前测试主页。py (1和3有很多共同点。3有额外的功能。1是3的子集) 每个测试用例有三个文件,我已经实现了1和2。但是对于第三个模块,我只是从1和2模块中导入了相关函数。 问题是验证登录是否重复。在这种情况下,您是

  • 我们如何等待IWebElement(重新)连接到DOM?我的场景是这样的,我从dropdown1中选择一个值,然后单击dropdown2上的数据绑定。所以当我的测试像从Dd1中选择“foo”,然后从Dd2中选择“bar”- 但是我真的不想把定位器字符串(“foo”)带到我的测试逻辑中,因为它似乎破坏了使用页面对象模型的意义。使用页面对象模型时,我已经有了IWebElement实例 那么,您知道隐式

  • 希望我不是第一个遇到这个问题的人。 问题是我还需要检查该元素在页面上是否可见,并且在执行checked之前它会出错(例如,使用WebDriverWait,将ExpectedConditions.ElementisVisible(by)传递给.Until方法)。 我如何将IWebElement和By locator清晰地分开,并允许在需要的地方进行这种明确的等待/检查? TLDR-如何维护页面对象模

  • 我的网页上有一个按钮,一旦输入所需的信息,我想点击它。我目前正在使用By来建立页面的所有元素,但想使用WebElements作为这个按钮,然后使用Actions稍后单击它。我应该如何在我的页面对象类中做到这一点。 我尝试了以下方法: 但在以TestNG的形式运行测试类时,它在WebElement行上显示空指针异常。也尝试使用By执行此操作,但按钮无法收到单击。它与WebElements配合得非常好

  • 我下面的页面对象模型中,我已经放置了所有的WebElement地址和方法,即id,xpath等在页面中。示例:在登录页面上,我们有用户名字段、密码字段和登录按钮。因此,所有这些都将在LoginPage.java.本页还包括使用Webelements的方法。所以从实际的测试用例中,我只是调用页面上定义的方法。这就是我的困境。我有几个测试步骤需要我点击一个元素。所以说我需要点击链接1,链接2和链接3。