如何在Selenium WebDriver中从一个类到另一个类调用Web元素

sp238

我有一个类'Registration.java',在其中定义了一个Web元素,如下所示:

WebElement regForm = driver.findElement(By.xpath("html/body/div[2]/div[1]/div/form"));
List<WebElement> inputFields = regForm.findElements(By.xpath(".//div[@class='form-con']/input"));

另一个类“ Validations.java”:

List<WebElement> errors = **regForm**.findElements(By.xpath(".//div[@class='error-container']/small"));
for(int i = 0; i < inputFields.size(); i++){
    **inputFields**.get(i).sendKeys("");
    driver.findElement(By.xpath(".//div[@class='signin-con']/input")).click(); }

在上面的示例中,“ Registration.java”类具有Web元素对象“ regForm”和“ inputFields”。我不想在第二堂课中再次定义相同的内容。因此,这些Web元素希望在另一个类“ Validations.java”中使用。但是,Java程序在第二个类中显示错误“对象无法解析”。如何在不重新定义的情况下调用这些网络元素?

调试器89

您可以使用getter和setter或公共静态变量来解决问题

使用吸气剂

您可以如下所示在Registration.java文件中为变量创建getter和setter方法。

private WebElement regForm;
private List<WebElement> inputFields;

public WebElement getRegForm(){
     regForm = driver.findElement(By.xpath("html/body/div[2]/div[1]/div/form"));
     return regForm;
}

 public List<WebElement> getInputFields(){
     inputFields = regForm.findElements(By.xpath(".//div[@class='form-con']/input"));
}

从Validations.java文件中,您需要调用相应的getter。

Registration registration = new Registration();
WebElement regForm = registration.getRegForm();

使用全局静态变量

您可以在Registration.java中将变量定义为public static:

public static WebElement regForm = driver.findElement(By.xpath("html/body/div[2]/div[1]/div/form"));
public static List<WebElement> inputFields = regForm.findElements(By.xpath(".//div[@class='form-con']/input"));

并以其他方式访问它们:

WebElement regForm = Registration.regForm;

第一种选择是处理此类问题的最佳方法。但是第二个选项也可以。在学习过程中,我认为您应该真正看一下Selenium中的页面对象模式。这将对您有很大帮助。在tutorialspoint上有一个很好的教程。http://www.tutorialspoint.com/selenium/selenium_page_object_model.htm

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从一个类调用方法到另一个类

来自分类Dev

如何从一个类到另一个类调用方法

来自分类Dev

如何从一个类调用另一个类的函数?

来自分类Dev

如何使用从一个类到另一个类的数据?

来自分类Dev

如何从一个类到另一个类引用变量?

来自分类Dev

如何将Java类(从一个包中)继承到另一个类(在另一个包中)

来自分类Dev

如何通过Java中的方法将对象从一个类传递到另一个类

来自分类Dev

如何在另一个类中调用一个类的main()方法?

来自分类Dev

如何将变量从一个类传递到另一个?

来自分类Dev

如何从一个活动访问用户输入到另一个类?

来自分类Dev

如何在URI中将变量从一个类传递到另一个类?

来自分类Dev

如何在 Selenium 中创建一个将从另一个类调用的 driver.get 函数?

来自分类Dev

如何在 Java/IntelliJ 中创建从一个类到另一个类的一对多和多对一关系

来自分类Dev

如何在Selenium Webdriver中将值从一个测试用例传递到另一个

来自分类Dev

如何从另一个类中迅速调用另一个方法?

来自分类Dev

如何将元素的最后一个类复制到jQuery中的另一个元素?

来自分类Dev

如何在类中调用函数以在php中调用另一个类?

来自分类Dev

如何从一个类函数调用变量到另一个类函数

来自分类Dev

如何在Codeigniter中将数组从一个类控制器传递到另一个

来自分类Dev

如何将GeoPosition从一个类传递到另一个类?

来自分类Dev

如何显示从一个类到另一个类的主要方法的方法

来自分类Dev

如何获取值并将其从一个类传递到另一个类?

来自分类Dev

Python:如何从一个类到另一个类获取未初始化的属性

来自分类Dev

如何在同一个类的另一个方法中调用一个方法?

来自分类Dev

如何在一个类中从另一个调用一个函数(方法)?

来自分类Dev

如何将参数从一个函数传递到另一个函数,但在php中的同一个类中

来自分类Dev

如何在Django模型中将一个子类从一个类继承到另一个类

来自分类Dev

如何将变量从一个方法传递到同一个类中的另一个方法?

来自分类Dev

如何从另一个类调用JavaFX类?

Related 相关文章

  1. 1

    如何从一个类调用方法到另一个类

  2. 2

    如何从一个类到另一个类调用方法

  3. 3

    如何从一个类调用另一个类的函数?

  4. 4

    如何使用从一个类到另一个类的数据?

  5. 5

    如何从一个类到另一个类引用变量?

  6. 6

    如何将Java类(从一个包中)继承到另一个类(在另一个包中)

  7. 7

    如何通过Java中的方法将对象从一个类传递到另一个类

  8. 8

    如何在另一个类中调用一个类的main()方法?

  9. 9

    如何将变量从一个类传递到另一个?

  10. 10

    如何从一个活动访问用户输入到另一个类?

  11. 11

    如何在URI中将变量从一个类传递到另一个类?

  12. 12

    如何在 Selenium 中创建一个将从另一个类调用的 driver.get 函数?

  13. 13

    如何在 Java/IntelliJ 中创建从一个类到另一个类的一对多和多对一关系

  14. 14

    如何在Selenium Webdriver中将值从一个测试用例传递到另一个

  15. 15

    如何从另一个类中迅速调用另一个方法?

  16. 16

    如何将元素的最后一个类复制到jQuery中的另一个元素?

  17. 17

    如何在类中调用函数以在php中调用另一个类?

  18. 18

    如何从一个类函数调用变量到另一个类函数

  19. 19

    如何在Codeigniter中将数组从一个类控制器传递到另一个

  20. 20

    如何将GeoPosition从一个类传递到另一个类?

  21. 21

    如何显示从一个类到另一个类的主要方法的方法

  22. 22

    如何获取值并将其从一个类传递到另一个类?

  23. 23

    Python:如何从一个类到另一个类获取未初始化的属性

  24. 24

    如何在同一个类的另一个方法中调用一个方法?

  25. 25

    如何在一个类中从另一个调用一个函数(方法)?

  26. 26

    如何将参数从一个函数传递到另一个函数,但在php中的同一个类中

  27. 27

    如何在Django模型中将一个子类从一个类继承到另一个类

  28. 28

    如何将变量从一个方法传递到同一个类中的另一个方法?

  29. 29

    如何从另一个类调用JavaFX类?

热门标签

归档