如何参数化定位器?
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()+"]")
我正在尝试将定位器所需的所有值存储在 属性 文件中:
这是属性文件:
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()+"]")