I need to capture the datalayer from the console tab in the chrome developer tools
How to capture datalayer object and print in my eclipse console using selenium
545 Views Asked by Ragav At
2
There are 2 best solutions below
0
On
Im using the following code @Zakaria Shahed , pls make correction and how to use assertion here?
List<String>actual_values=new ArrayList <String>();
List<String>Notexist=new ArrayList <String>();
JavascriptExecutor executor = (JavascriptExecutor)driver;
List<String> datalist = new ArrayList<String>();
datalist = (List<String>) executor.executeScript("return window.dataLayer");
//System.out.println(datalist);
String DLexpected_values=data[6];// i will read DLexpected values from excel sheet - data[6]
List<String> splitword2 = Arrays.asList(DLexpected_values.split(","));
for(String value :splitword2) {
boolean b = false;
for (String entry : datalist) {
if(entry.toString().contains(value)) {
actual_values.add(value);
b = true;
break;
}
}
if(!b) {
if(!Notexist.contains(value)) {
Notexist.add(value);
}
}
}
if(splitword2.equals(actual_values1)) {
System.out.println("Expected_Values:"+" "+splitword2);
System.out.println("Actual_Values :"+" "+actual_values);
System.out.println("Status : Pass");
}
else {
System.out.println("Expected_Values:"+" "+splitword2);
System.out.println("Actual_Values :"+" "+actual_values);
System.out.println("Missing_Values :"+" "+Notexist);
System.err.println("Status : Fail");
}
Below code will help you to get data layer information