如何参数化定位器?

How to parameterize the locators?

我正在尝试将定位器所需的所有值存储在 属性 文件中:

这是属性文件:

url=https://www.google.com
value=search   

这是我的对象存储库class:

public class pageobjects extends helperclass{
public WebDriver driver;

By search  = By.xpath("//input[@aria-label='search12()']") //I am trying to insert helpclass method here.

public class pageobjects(Webdriver driver){ //creating constructor
  
 this.driver=driver; }

 public WebElement search(){
return driver.findElement(search);
}
}

我不想在我的对象存储库文件和测试用例文件中硬编码“搜索”,因此我尝试将其存储在属性 文件中。我知道通过使用“load()”和“get属性()”,我可以read/load 属性 File.

这是我的助手 class,包含从 属性 文件中存储特定字符串值的方法:

public helperclass { 
public properties prop;


static String search12() { 
prop=new Properties();
FileInputStream fis = new FileInputStream(path of property file);
return prop.getProperty("value");
}

}

错误:字符串 //input[@aria-label='search12()'] 不是有效的 Xpath 表达式。

你为什么不试试这个 -

By.xpath("//input[@aria-label="+search12()+"]")