@@ -215,6 +215,49 @@ module.exports = {
215
215
} ) ;
216
216
217
217
} , timeout , timeoutMessage ) ;
218
- }
218
+ } ,
219
+
220
+ /**
221
+ * Get the content value of a :before pseudo element
222
+ * @param {string } cssSelector - css selector of element to inspect
223
+ * @returns {Promise } executes .then with value
224
+ * @example
225
+ * helpers.getPseudoElementBeforeValue('body header').then(function(value) {
226
+ * console.log(value);
227
+ * });
228
+ */
229
+ getPseudoElementBeforeValue : function ( cssSelector ) {
219
230
231
+ function getBeforeContentValue ( qs ) {
232
+
233
+ var el = document . querySelector ( qs ) ;
234
+ var styles = el ? window . getComputedStyle ( el , ':before' ) : null ;
235
+
236
+ return styles ? styles . getPropertyValue ( 'content' ) : '' ;
237
+ }
238
+
239
+ return driver . executeScript ( getBeforeContentValue , cssSelector ) ;
240
+ } ,
241
+
242
+ /**
243
+ * Get the content value of a :after pseudo element
244
+ * @param {string } cssSelector - css selector of element to inspect
245
+ * @returns {Promise } executes .then with value
246
+ * @example
247
+ * helpers.getPseudoElementAfterValue('body header').then(function(value) {
248
+ * console.log(value);
249
+ * });
250
+ */
251
+ getPseudoElementAfterValue : function ( cssSelector ) {
252
+
253
+ function getAfterContentValue ( qs ) {
254
+
255
+ var el = document . querySelector ( qs ) ;
256
+ var styles = el ? window . getComputedStyle ( el , ':after' ) : null ;
257
+
258
+ return styles ? styles . getPropertyValue ( 'content' ) : '' ;
259
+ }
260
+
261
+ return driver . executeScript ( getAfterContentValue , cssSelector ) ;
262
+ }
220
263
} ;
0 commit comments