@@ -215,6 +215,49 @@ module.exports = {
215215            } ) ; 
216216
217217        } ,  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 )  { 
219230
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+     } 
220263} ; 
0 commit comments