2017-08-04 205 views
0

我一直在嘗試驗證數組值的2列表。一個將手動提供,另一個將從網站上的Webelement中檢索。輸出結果應該如預期的那樣,但實際值顯示出很多和空間。請幫我Selenium要匹配的元素列表要匹配的格式數組值

期望值:[ITV,ITV2,ITVBe,ITV4,CITV]

實際值:下面[Actual Values :[, ITV, , , ITV2, , , ITVBe, , , ITV3, , , ITV4, , , CITV, ]

代碼:

public static void verifyTVChannels(String channels) 
{ 

    List<String> tvchannels= Arrays.asList(channels); 

    System.out.println("Expected Values :"+tvchannels); 

    List<String> actual =new ArrayList<String>(); 


    System.out.print("Actual Values :["); 
    for(WebElement e: TVHomePage.itvChannels) 
    { 
       actual.add(e.getText()); 

    } 

    System.out.print("Actual Values :"+actual); 

    System.out.println(); 
    System.out.println("------------------------------------------------------------------------ "); 

} 
+0

您在上述解決方案中面臨的問題是什麼? –

+0

實際值:[,ITV,,ITV2,ITVBe,ITV3,ITV4,CITV]具有很多價值。我期待[ITV,ITV2,ITVBe,ITV4,CITV] – sri

+0

您可以在字符串中使用contains方法來比較兩個值並完成它。我需要使用包含方法的任何幫助,請讓我知道 –

回答

0

店無論是在下面的數組的實際值與預期值。

String[] actual = x.toArray(new String[x.size()]);//x is an arraylist 
String[] expected = y.toArray(new String[y.size()]);//Y is the expected list 

構建for循環並檢查每個數組中的元素。

for(int i = 0; i< actual.length;i++) 
{ 
    if(actual[i].contains(expected[i])) 
    { 
     System.out.println(actual[i]+' '+ expected[i]+' '+"matches"); 
    } 
    else 
    { 
     //doesn't match 
    } 
} 

希望這會有所幫助。謝謝。

+0

仍然沒有運氣,這是拋出陣列異常 – sri

0

這可能對你有幫助。

List<String> tvchannels= Arrays.asList(channels); 

    System.out.println("Expected Values :"+tvchannels); 

    List<String> actual =new ArrayList<String>(); 


    System.out.print("Actual Values :["); 
    for(WebElement e: TVHomePage.itvChannels) 
    { 
     if(!e.getText().trim().isEmpty()) 
       actual.add(e.getText().trim()); 

    } 

    System.out.print("Actual Values :"+actual); 

    if(actual.containsAll(tvchannels)){ 
     System.out.println("matching"); 
    } 
    else{ 
     System.out.println("not matching"); 
    } 
+0

Murthi,我仍然得到錯誤的輸出低於預期值:[ITV,ITV2,ITVbe,ITV4,CITV] 實際值:[不匹配 實際值:[, ,ITV2,ITVBe,ITV3,ITV4,CITV, – sri

+0

我期待與預期值 – sri

+0

更新答案相同的輸出。請再試一次。 – Murthi