Java 我想将数组的所有元素都包含到另一个数组中
我对两个不同数组的“containsAll”有问题 我尝试了“assertnamedb.containsAll(nameUI)”,但即使这样也不起作用。我的代码如下所示Java 我想将数组的所有元素都包含到另一个数组中,java,arrays,groovy,automated-tests,katalon-studio,Java,Arrays,Groovy,Automated Tests,Katalon Studio,我对两个不同数组的“containsAll”有问题 我尝试了“assertnamedb.containsAll(nameUI)”,但即使这样也不起作用。我的代码如下所示 List<WebElements> elements = DriverFactory.getWebDriver().findElements(By.xpath("//div[@class='sc-bdVaJa sc-gZMcBi koDwGg']")) List<WebElements> ibans =
List<WebElements> elements = DriverFactory.getWebDriver().findElements(By.xpath("//div[@class='sc-bdVaJa sc-gZMcBi koDwGg']"))
List<WebElements> ibans = DriverFactory.getWebDriver().findElements(By.xpath("//div[@class='sc-bdVaJa sc-bwzfXH cUWysv']"))
def nameUI = []
def ibanArray = []
def nameDB = []
//Get and print from UI
for(int i = 0; i < elements.size(); i++) {
def text = elements.get(i).getText()
nameUI << text
}
for (int j = 0; j < ibans.size(); j++){
def ibantxt = ibans.get(j).getText()
ibanArray << ibantxt
//Get account names from DB and print
Database_Cards model = AccountDataService.countCards(ibanArray[j])
def count = model.countCards
println count
nameDB << count
}
println "Iban List:" + ibanArray
println "Count DB: " + nameDB
println "Count UI: " + nameUI
if(nameDB.size() == nameUI.size()){
KeywordUtil.logInfo("Array size - OK")
}
else {
KeywordUtil.logInfo("Array size - Error")
}
if (nameUI.containsAll(nameDB)) {
println nameDB + "=" + nameUI
KeywordUtil.logInfo("It's OK - UI Objects are Same DB")
}
else {
println nameDB + "!=" + nameUI
KeywordUtil.logInfo("UI Objects are NOT Same DB")
}
assert nameDB.containsAll(nameUI)
KeywordUtil.logInfo("It's OK - Accounts are displayed Correctly")
问题在于数据类型:
nameUI如果数组中的项类型不同,则可以使用此选项。fir示例nameUI似乎包含字符串“1”
,而nameDB包含整数1
Count DB: [1]
2019-07-31 10:15:12.688 DEBUG testcase.123 - 17: println("Count UI: " + nameUI)
Count UI: [1]
2019-07-31 10:15:12.688 DEBUG testcase.123 - 18: if (nameDB.size() == nameUI.size())
2019-07-31 10:15:12.688 DEBUG testcase.123 - 1: logInfo("Array size - OK")
2019-07-31 10:15:12.688 INFO com.kms.katalon.core.util.KeywordUtil - Array size - OK
2019-07-31 10:15:12.688 DEBUG testcase.123 - 20: if (nameUI.containsAll(nameDB))
2019-07-31 10:15:12.688 DEBUG testcase.123 - 21: else
2019-07-31 10:15:12.688 DEBUG testcase.123 - 1: println(nameDB + "!=" + nameUI)
[1, !=, 1]
2019-07-31 10:15:12.697 DEBUG testcase.123 - 2: logInfo("UI Objects are NOT Same DB")
2019-07-31 10:15:12.697 INFO com.kms.katalon.core.util.KeywordUtil - UI Objects are NOT Same DB
2019-07-31 10:15:12.697 DEBUG testcase.123 - 22: assert nameDB.containsAll(nameUI)
2019-07-31 10:15:12.697 ERROR c.k.katalon.core.main.TestCaseExecutor - ❌ Test Cases/123 FAILED.
Reason:
Assertion failed:
assert nameDB.containsAll(nameUI)
| | |
[1] false [1]