私は別の配列への配列のすべての要素が含まれていたいです

Lasha失敗:

私は2つの異なるアレイの「のcontainsAll」との問題を抱えています。

私は「nameDB.containsAll(nameUI)をアサート」しようとしたが、これでも動作しません。私のコードは次のようになります

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")

出力:

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]
メイトMRSE:

問題は、データ型にあります。

nameUI << textそのnameUI文字列として「1」を持っています。

nameDB << countそうnameDB1カウントとして(整数)を有しています。

更新:

次の修正(文字列に変換「カウント」)を試すことができます。

nameDB << count.toString()

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=239195&siteId=1