gpt4 book ai didi

java将字符串与变量名匹配并传递变量的值

转载 作者:行者123 更新时间:2023-12-01 10:11:43 24 4
gpt4 key购买 nike

我是使用 Java 的 Cucumber Selenium 的初学者,并且已在 Google 上搜索过,但找不到是否可行。这就是问题所在。我有一个方法,它有一个字符串参数,我想将其与变量名匹配。然后我想将该变量用于另一种方法。

所以简而言之,我将有一个参数字符串(例如“名称”)并希望将其与变量“名称”匹配并获取/使用该值

类似这样的事情。

我的 cucumber 场景会有这样的步骤:

Abstract Scenario: check errors in fields
If there is an error in "field"
Then foo

Examples:
|field |
|name |
|address|
|phone |

我在步骤定义中的方法类似于:

private final name = "field_ID_Name"
private final address = "field_ID_Address"
private final phone = "field_ID_Phone"

public void thereIsAnErrorIn(String field){
// Here the match from the argument "name" to use of the variable "name"
checkError(field)
}

private void checkError(String field){
// here I'd like to check based on the value, so in my case for variable
//'name' would get "field_ID_name" as passed parameter
seleniumdriver.pollVisible(field) //field = "field_ID_Name"
}

现在(显然)它传递“name”作为字符串,但我无法找到在这个例子中传递“field_ID_Name”的方法。我可以使用 switch 语句来检查字段的各种可能值,但我宁愿让它根据传递的字符串进行匹配。另一种选择是将精确定位器作为第一种方法的参数,但这对于必须了解功能文件( cucumber 场景)的客户来说并不容易阅读。

任何建议表示赞赏!

最佳答案

您可以创建一个映射,其中变量名称作为键,所需参数作为值传递给 pollVisible 函数。所以你的 map 看起来像这样:

myMap:名称 -> field_ID_Name

现在做:

私有(private)无效checkError(字符串字段){

seleniumdriver.pollVisible(myMap.get(field));

}

关于java将字符串与变量名匹配并传递变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36090085/

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