gpt4 book ai didi

java - 如何在自动化框架中添加下拉选择功能?

转载 作者:行者123 更新时间:2023-12-02 05:50:27 25 4
gpt4 key购买 nike

我是 Selenium WebDriver 的新手。因此,我开始构建一个基于关键字的自动化框架,并成功构建了该框架并且运行良好。但现在,我陷入了一种情况,我需要从下拉列表中选择值。我知道 select 函数,我可以在脚本方法中使用它。但在框架中,我创建了一个文件 UIOperation.java,在其中创建了一些方法,例如 CLICKSETTEXTWAIT 等。

那么,如何在同一个文件中添加 Select 函数的代码?

我已经尝试过下面的代码,但它不起作用。

case "SELECT":
//Perform select from drop-down
driver.findElement(this.getObject(p, objectName, objectType))).selectByVisibleText(value);
break;

下面我提到了一些方法,需要为 Select 方法创建相同的方法。

public class UIOperation {

WebDriver driver;
public UIOperation(WebDriver driver){
this.driver = driver;
}
public void perform(Properties p,String operation,String objectName,String objectType,String value) throws Exception{
System.out.println("");
switch (operation.toUpperCase()) {
case "CLICK":
//Perform click
driver.findElement(this.getObject(p,objectName,objectType)).click();
break;
case "SETTEXT":
//Set text on control
driver.findElement(this.getObject(p,objectName,objectType)).sendKeys(value);
break;

我正在使用 TestNG 执行该案例。在 Excel 文件中,我添加了关键字(即 Click、Settext、Wait 等)、Object、ObjectType 和 Value。 (在 ObjectProperties 中,我定义了对象及其 ObjectType,如 XPath、id、名称等)我尝试使用 Click 关键字选择下拉值,但无法选择相同的选项。

最佳答案

driver.findElement返回 WebElement没有方法 selectByVisibleText 的对象。

使用selectByVisibleText WebElement 必须是 <select>标签,你必须使用 org.openqa.selenium.support.ui.Select

试试这个:

case "SELECT":
//Perform select from drop-down
Select select = new Select(driver.findElement(this.getObject(p, objectName, objectType)));
select.selectByVisibleText(value);
break;

关于java - 如何在自动化框架中添加下拉选择功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56054010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com