1 package io.guixer.logs; 2 3 import javax.annotation.Nullable; 4 5 import io.guixer.types.AttributeScope; 6 import io.guixer.types.LocatorType; 7 import io.guixer.types.ResultType; 8 import io.guixer.types.StepType; 9 import net.avcompris.binding.annotation.XPath; 10 11 public interface ElaborateLog extends LogBase { 12 13 Attribute[] getAttributes(); 14 15 @Nullable 16 Before getBefore(); 17 18 Intent[] getIntents(); 19 20 @Nullable 21 Done getDone(); 22 23 @Nullable 24 LogError getError(); 25 26 interface Attribute { 27 28 @XPath("@scope") 29 AttributeScope getScope(); 30 31 @XPath("@name") 32 String getName(); 33 34 @Nullable 35 @XPath("@value") 36 String getValue(); 37 } 38 39 interface Before { 40 41 @XPath("step") 42 Step[] getSteps(); 43 } 44 45 interface Group { 46 47 @XPath("@name") 48 String getName(); 49 50 @XPath("@beginAtMs") 51 long getBeginAtMs(); 52 53 @Nullable 54 @XPath("@endAtMs") 55 Long getEndAtMs(); 56 57 @XPath("intent") 58 Intent[] getIntents(); 59 } 60 61 interface Status { 62 63 @XPath("@statusAtMs") 64 long getStatusAtMs(); 65 66 @XPath("@label") 67 String getLabel(); 68 } 69 70 interface Intent { 71 72 @XPath("@timeMillis") 73 long getTimeMillis(); 74 75 @XPath("@title") 76 String getTitle(); 77 78 @XPath("step") 79 Step[] getSteps(); 80 81 @Nullable 82 @XPath("group") 83 Group getGroup(); 84 85 @Nullable 86 @XPath("status") 87 Status getStatus(); 88 } 89 90 interface Step { 91 92 @XPath("@timeMillis") 93 long getTimeMillis(); 94 95 @XPath("@type") 96 StepType getType(); 97 98 @Nullable 99 @XPath("@url") 100 String getUrl(); 101 102 @Nullable 103 @XPath("@fileName") 104 String getFileName(); 105 106 @Nullable 107 @XPath("@scope") 108 AttributeScope getScope(); 109 110 @Nullable 111 @XPath("@name") 112 String getName(); 113 114 @Nullable 115 @XPath("@value") 116 String getValue(); 117 118 @Nullable 119 @XPath("@script") 120 String getScript(); 121 122 @Nullable 123 @XPath("locator") 124 Locator getLocator(); 125 126 @Nullable 127 @XPath("@namespace") 128 String getNamespace(); 129 130 @Nullable 131 @XPath("@message") 132 String getMessage(); 133 134 @Nullable 135 @XPath("@resultType") 136 ResultType getResultType(); 137 138 @Nullable 139 @XPath("@callable") 140 String getCallable(); 141 142 @Nullable 143 @XPath("@seconds") 144 Integer getSeconds(); 145 146 @Nullable 147 @XPath("@label") 148 String getLabel(); 149 } 150 151 interface Locator { 152 153 @XPath("@type") 154 LocatorType getType(); 155 156 @XPath("@value") 157 String getValue(); 158 } 159 160 interface Done { 161 162 @XPath("@timeMillis") 163 long getTimeMillis(); 164 165 @XPath("@message") 166 String getMessage(); 167 } 168 169 interface LogError { 170 171 @XPath("@timeMillis") 172 long getTimeMillis(); 173 174 @XPath("trace") 175 String getTrace(); 176 177 @XPath("screenshot") 178 Screenshot getScreenshot(); 179 } 180 181 interface Screenshot { 182 183 @XPath("@timeMillis") 184 long getTimeMillis(); 185 186 @XPath("@fileName") 187 String getFileName(); 188 } 189 }