@@ -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