Best JavaScript code snippet using playwright-internal
tst.TstAjax.js
Source:tst.TstAjax.js  
...23    this.addTest("tPutJSONparams");   24    this.addTest("tDeleteJSONparams");25}26FM.TstAjax.prototype.tGet = function() {27    this.log("tGet, Ajax GET/TEXT test started.",FM.logLevels.info,this.getClassName());28    29    var oAjax = new FM.UtAjax({30        url: 'http://10.76.150.104:9151/status', 31        method: 'GET',32        contentType: 'application/x-www-form-urlencoded',33        responseFormat: 'TEXT',34        validResponseCodes: '200',35        params: {},36        headers: {},37        auth: null38    });39    40    var me = this;41    oAjax.addListener({42        onAjaxStateStart: function(oAjax,oArgs) {43            me.log("tGet, onAjaxStateStart event:",FM.logLevels.info,me.getClassName());44            me.log(oArgs.getAttr("value"),FM.logLevels.info,me.getClassName());45        },46        onAjaxStateError: function(oAjax,oErr) {47            me.log("tGet, onAjaxStateError event:",FM.logLevels.info,me.getClassName());48            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());49            me.addResult('tGet',false);50            51        },52        onAjaxStateEnd: function(oAjax,oData) {53            me.log("tGet, onAjaxStateEnd event:",FM.logLevels.info,me.getClassName());54            me.log(oData.getAttr("value"),FM.logLevels.info,me.getClassName());55            me.addResult('tGet',true);56        }        57    });    58    59    oAjax.send({});60}     61FM.TstAjax.prototype.tGetErr = function() {62    this.log("tGetErr, Ajax GET (invalid request) test started.",FM.logLevels.info,this.getClassName());63    64    var oAjax = new FM.UtAjax({65        url: 'http://www.index.hr', 66        method: 'GET',67        contentType: 'application/x-www-form-urlencoded',68        responseFormat: 'TEXT',69        validResponseCodes: '200',70        params: {},71        headers: {},72        auth: null73    });74    75    var me = this;76    oAjax.addListener({77        onAjaxStateStart: function(oAjax,oArgs) {78            me.log("tGetErr, onAjaxStateStart event:",FM.logLevels.info,me.getClassName());79            me.log(oArgs.getAttr("value"),FM.logLevels.info,me.getClassName());80        },81        onAjaxStateError: function(oAjax,oErr) {82            me.log("tGetErr, onAjaxStateError event:",FM.logLevels.info,me.getClassName());83            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());84            me.addResult('tGetErr',true);85            86        },87        onAjaxStateEnd: function(oAjax,oData) {88            me.log("tGetErr, onAjaxStateEnd event:",FM.logLevels.info,me.getClassName());89            me.log(oData.getAttr("value"),FM.logLevels.info,me.getClassName());90            me.addResult('tGetErr',false);91        }        92    });    93    94    oAjax.send({});95}     96FM.TstAjax.prototype.tGetJSON = function() {97    this.log("tGetJSON, Ajax Get/JSON test started.",FM.logLevels.info,this.getClassName());98    99    var oAjax = new FM.UtAjax({100        url: 'http://www.hicegosum.com/findme-dev/api/users/563771418', 101        method: 'GET',102        contentType: 'application/x-www-form-urlencoded',103        responseFormat: 'JSON',104        validResponseCodes: '200',105        params: {},106        headers: {},107        auth: null108    });109    110    var me = this;111    oAjax.addListener({112        onAjaxStateStart: function(oAjax,oArgs) {113            me.log("tGetJSON, onAjaxStateStart event:",FM.logLevels.info,me.getClassName());114            me.log(oArgs.getAttr("value"),FM.logLevels.info,me.getClassName());115        },116        onAjaxStateError: function(oAjax,oErr) {117            me.log("tGetJSON, onAjaxStateError event:",FM.logLevels.info,me.getClassName());118            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());119            me.addResult('tGetJSON',false);120            121        },122        onAjaxStateEnd: function(oAjax,oData) {123            me.log("tGetJSON, onAjaxStateEnd event:",FM.logLevels.info,me.getClassName());124            me.log(oData.getAttr("value"),FM.logLevels.info,me.getClassName());125            me.addResult('tGetJSON',true);126        }        127    });    128    129    oAjax.send({});130}     131FM.TstAjax.prototype.tPostJSONparams = function() {132    this.log("tPostJSONparams, Ajax Post/JSON/params test started.",FM.logLevels.info,this.getClassName());133    134    var oAjax = new FM.UtAjax({135        url: 'http://www.hicegosum.com/findme-dev/api/users', 136        method: 'POST',137        contentType: 'application/x-www-form-urlencoded',138        responseFormat: 'JSON',139        validResponseCodes: '200',140        params: {ids: true},141        headers: {},142        auth: null143    });144    145    var me = this;146    oAjax.addListener({147        onAjaxStateStart: function(oAjax,oArgs) {148            me.log("tPostJSONparams, onAjaxStateStart event:",FM.logLevels.info,me.getClassName());149            me.log(oArgs.getAttr("value"),FM.logLevels.info,me.getClassName());150        },151        onAjaxStateError: function(oAjax,oErr) {152            me.log("tPostJSONparams, onAjaxStateError event:",FM.logLevels.info,me.getClassName());153            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());154            me.addResult('tPostJSONparams',false);155            156        },157        onAjaxStateEnd: function(oAjax,oData) {158            me.log("tPostJSONparams, onAjaxStateEnd event:",FM.logLevels.info,me.getClassName());159            me.log(oData.getAttr("value"),FM.logLevels.info,me.getClassName());160            me.addResult('tPostJSONparams',true);161        }        162    });    163    164    oAjax.send({ids: '563771418'});165}     166FM.TstAjax.prototype.tPutJSONparams = function() {167    this.log("tPutJSONparams, Ajax Put/JSON/params test started.",FM.logLevels.info,this.getClassName());168    169    var oAjax = new FM.UtAjax({170        url: 'http://www.hicegosum.com/findme-dev/api/users', 171        method: 'PUT',172        contentType: 'application/x-www-form-urlencoded',173        responseFormat: 'JSON',174        validResponseCodes: '200',175        params: {ids: true},176        headers: {},177        auth: null178    });179    180    var me = this;181    oAjax.addListener({182        onAjaxStateStart: function(oAjax,oArgs) {183            me.log("tPutJSONparams, onAjaxStateStart event:",FM.logLevels.info,me.getClassName());184            me.log(oArgs.getAttr("value"),FM.logLevels.info,me.getClassName());185        },186        onAjaxStateError: function(oAjax,oErr) {187            me.log("tPutJSONparams, onAjaxStateError event:",FM.logLevels.info,me.getClassName());188            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());189            me.addResult('tPutJSONparams',false);190            191        },192        onAjaxStateEnd: function(oAjax,oData) {193            me.log("tPutJSONparams, onAjaxStateEnd event:",FM.logLevels.info,me.getClassName());194            me.log(oData.getAttr("value"),FM.logLevels.info,me.getClassName());195            me.addResult('tPutJSONparams',true);196        }        197    });    198    199    oAjax.send({ids: '563771418'});200}     201FM.TstAjax.prototype.tDeleteJSONparams = function() {202    this.log("tDeleteJSONparams, Ajax Delete/JSON/params test started.",FM.logLevels.info,this.getClassName());203    204    var oAjax = new FM.UtAjax({205        url: 'http://www.hicegosum.com/findme-dev/api/users', 206        method: 'DELETE',207        contentType: 'application/x-www-form-urlencoded',208        responseFormat: 'JSON',209        validResponseCodes: '200',210        params: {ids: true},211        headers: {},212        auth: null213    });214    215    var me = this;216    oAjax.addListener({217        onAjaxStateStart: function(oAjax,oArgs) {218            me.log("tDeleteJSONparams, onAjaxStateStart event:",FM.logLevels.info,me.getClassName());219            me.log(oArgs.getAttr("value"),FM.logLevels.info,me.getClassName());220        },221        onAjaxStateError: function(oAjax,oErr) {222            me.log("tDeleteJSONparams, onAjaxStateError event:",FM.logLevels.info,me.getClassName());223            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());224            me.addResult('tDeleteJSONparams',false);225            226        },227        onAjaxStateEnd: function(oAjax,oData) {228            me.log("tDeleteJSONparams, onAjaxStateEnd event:",FM.logLevels.info,me.getClassName());229            me.log(oData.getAttr("value"),FM.logLevels.info,me.getClassName());230            me.addResult('tDeleteJSONparams',true);231        }        232    });    233    234    oAjax.send({ids: '563771418'});235}     236// static237FM.TstAjax.className = "TstAjax";...MyAccountMessage.jsx
Source:MyAccountMessage.jsx  
...28  const { type, message, message1, message2, url, urlText } = props29  const verifyArray = _isArray(message)30  if (type === MESSAGE_TYPE_REACTIVATE) {31    return (32      <div className={getClassName()}>33        <div className={getClassName('message', type)}>34          <div className={getClassName('body', type)}>35            <div className={getClassName('description1', type)}>36              { verifyArray ? message[0] : null }37            </div>38            <div className={getClassName('description2', type)}>39              { verifyArray ? message[1] : null }40            </div>41          </div>42          <div className={getClassName('link-container', type)}>43            <Link to={url} className={getClassName('link', type)} >{urlText}</Link>44            <Icon45              iconClass={[46                'my-account-message__arrow-right--teal',47                'icon--right',48                'icon--action',49              ]}50            />51          </div>52        </div>53      </div>54    )55  } else if (type === MESSAGE_TYPE_UPDATE) {56    return (57      <div className={getClassName()}>58        <div className={getClassName('message', type)}>59          <div className={getClassName('body', type)}>60            <div className={getClassName('description', type)}>61              <Icon62                iconClass={[63                  'my-account-message__icon-alert',64                ]}65              />66              <p className={getClassName('update-description1', type)}>67                { message1 || null } <br />68              </p>69              <p className={getClassName('update-description2', type)}>70                { message2 || null } <br />71              </p>72            </div>73          </div>74          <div className={getClassName('link-container', type)}>75            <Link to={url} className={getClassName('link', type)}>{ urlText }</Link>76            <Icon77              iconClass={[78                'my-account-message__arrow-right',79                'icon--right',80                'icon--action',81              ]}82            />83          </div>84        </div>85      </div>86    )87  } else if (type === MESSAGE_TYPE_ERROR) {88    return (89      <div className={getClassName()}>90        <div className={getClassName('message', type)}>91          <div className={getClassName('body', type)}>92            <div className={getClassName('error-description1', type)}>93              <Icon94                iconClass={[95                  'my-account-message__icon-alert',96                ]}97              />98              { message1 || null } <br />99            </div>100            <p className={getClassName('error-description2', type)}>101              { message2 || null } <br />102            </p>103          </div>104          <div className={getClassName('link-container', type)}>105            <Link106              to="#payment-info"107              className={getClassName('link', type)}108            >109              { urlText }110            </Link>111            <Icon112              iconClass={[113                'my-account-message__arrow-right',114                'icon--right',115                'icon--action',116              ]}117            />118          </div>119        </div>120      </div>121    )122  } else if (type === MESSAGE_TYPE_CHANGE) {123    return (124      <div className={getClassName()}>125        <div className={getClassName('message', type)}>126          <div className={getClassName('body', type)}>127            <p className={getClassName('change-description1', type)}>128              { message[0] || null } <br />129            </p>130            <p className={getClassName('change-description2', type)}>131              { message[1] || null } <br />132            </p>133          </div>134          <div className={getClassName('link-container', type)}>135            <Link to={url} className={getClassName('link', type)}>{ urlText }</Link>136            <Icon137              iconClass={[138                'my-account-message__arrow-right--teal',139                'icon--right',140                'icon--action',141              ]}142            />143          </div>144        </div>145      </div>146    )147  } else if (type === MESSAGE_TYPE_TRIAL_UPGRADE) {148    return (149      <div className={getClassName()}>150        <div className={getClassName('message', type)}>151          <div className={getClassName('body', type)}>152            <p className={getClassName('trial-description', type)}>153              { message || null } <br />154            </p>155          </div>156          <div className={getClassName('link-container', type)}>157            <Link to={url} className={getClassName('link', type)}>{ urlText }</Link>158            <Icon159              iconClass={[160                'my-account-message__arrow-right--teal',161                'icon--right',162                'icon--action',163              ]}164            />165          </div>166        </div>167      </div>168    )169  } else if (type === MESSAGE_TYPE_TRIAL_ENDING) {170    return (171      <div className={getClassName()}>172        <div className={getClassName('message', type)}>173          <div className={getClassName('body', type)}>174            <p className={getClassName('trial-ending-description', type)}>175              <Icon176                iconClass={[177                  'my-account-message__icon-alert--red',178                ]}179              />180              { message || null } <br />181            </p>182          </div>183          <div className={getClassName('link-container', type)}>184            <Link to={url} className={getClassName('link', type)}>{ urlText }</Link>185            <Icon186              iconClass={[187                'my-account-message__arrow-right--teal',188                'icon--right',189                'icon--action',190              ]}191            />192          </div>193        </div>194      </div>195    )196  }197  return (198    <div className={getClassName()}>199      <div className={getClassName('message', type)}>200        <div className={getClassName('body', type)}>201          <div className={getClassName('description', type)}>202            { message } <br />203          </div>204        </div>205        <div className={getClassName('link-container', type)}>206          <Link to={url} className={getClassName('link', type)}>{ urlText }</Link>207          <Icon208            iconClass={[209              'my-account-message__arrow-right--teal',210              'icon--right',211              'icon--action',212            ]}213          />214        </div>215      </div>216    </div>217  )218}219MyAccountMessage.propTypes = {220  type: PropTypes.string.isRequired,...tst.TstDmList.js
Source:tst.TstDmList.js  
...21    this.addTest("tGetList");22    this.addTest("tPostJSONList");23}24FM.TstDmList.prototype.tGet = function() {25    this.log("tGet, DmList test started.",FM.logLevels.info,this.getClassName());26    27    var oList = new FM.DmList({},{28        url: 'http://10.76.150.104:9151/status', 29        method: 'GET',30        contentType: 'application/x-www-form-urlencoded',31        responseFormat: 'TEXT',32        validResponseCodes: '200',33        params: {},34        headers: {},35        auth: null,36        37        isErrorResponse: function(me,oAjax,response) {38            me.log("tGet, isErrorResponse?",FM.logLevels.info,me.getClassName());39            if(!response || !FM.isset(response.getAttr)  || response.getAttr("value","") != 'OK') return true;40            return false;            41        },42        listType: 'single',43        order:{44            orderAttribute: 'value',45            orderAttributeType: 'STRING',46            orderType: 'ASC'47        }                48    });49    50    var me = this;51    oList.addListener({52        onListStart: function(l,oArgs) {53            me.log("tGet, onListStart event:",FM.logLevels.info,me.getClassName());54            me.log(oArgs,FM.logLevels.info,me.getClassName());55        },56        onListError: function(l,oErr) {57            me.log("tGet, onListError event:",FM.logLevels.info,me.getClassName());58            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());59            me.addResult('tGet',false);60            61        },62        onListEnd: function(l,oData) {63            me.log("tGet, onListEnd event:",FM.logLevels.info,me.getClassName());64            me.log(oData,FM.logLevels.info,me.getClassName());65            me.log("tGet, onListEnd list size:" + l.getListSize(),FM.logLevels.info,me.getClassName());66            me.addResult('tGet',true);67        }        68    });    69    70    oList.getData();71}     72FM.TstDmList.prototype.tGetList = function() {73    this.log("tGetList, DmList test started.",FM.logLevels.info,this.getClassName());74    75    var oList = new FM.DmList({76        uids: '563771418'77    },{78        url: 'http://www.hicegosum.com/findme-dev/api/users', 79        method: 'GET',80        contentType: 'application/x-www-form-urlencoded',81        responseFormat: 'JSON',82        validResponseCodes: '200',83        params: {84            uids: true85        },86        headers: {},87        auth: null,        88        isErrorResponse: function(me,oAjax,response) {            89            me.log("tGet, isErrorResponse?",FM.logLevels.info,me.getClassName());90            if(!response || !FM.isset(response.getAttr)) return true;91            92            var fetchResponse = response.getAttr("value",null);93            if(!fetchResponse || !FM.isObject(fetchResponse)) return true;94            if(FM.getAttr(fetchResponse,"error",false)) return true;95            96            return false;            97        },98        listType: 'collection',99        collectionProperty: 'Results.Users',100        order:{101            orderAttribute: 'uid',102            orderAttributeType: 'STRING',103            orderType: 'ASC'104        }                105    });106    107    var me = this;108    oList.addListener({109        onListStart: function(l,oArgs) {110            me.log("tGetList, onListStart event:",FM.logLevels.info,me.getClassName());111            me.log(oArgs,FM.logLevels.info,me.getClassName());112        },113        onListError: function(l,oErr) {114            me.log("tGetList, onListError event:",FM.logLevels.info,me.getClassName());115            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());116            me.addResult('tGetList',false);117            118        },119        onListEnd: function(l,oData) {120            me.log("tGetList, onListEnd event:",FM.logLevels.info,me.getClassName());121            me.log(oData,FM.logLevels.info,me.getClassName());122            me.log("tGetList, onListEnd list size:" + l.getListSize(),FM.logLevels.info,me.getClassName());123            me.addResult('tGetList',true);124        }        125    });    126    127    oList.getData();128}129FM.TstDmList.prototype.tPostJSONList = function() {130    this.log("tPostJSONList, DmList test started.",FM.logLevels.info,this.getClassName());131    132    var oList = new FM.DmList({133        username: 'ivana',134        password: 'ivanaTest'135    },{136        url: 'http://10.76.150.104:9151/1/customerProfile/login', 137        method: 'POST',138        contentType: 'application/x-www-form-urlencoded',139        responseFormat: 'JSON',140        validResponseCodes: '200',141        params: {142            username: true,143            password: true144        },145        headers: {},146        auth: null,147        148        isErrorResponse: function(me,oAjax,response) {149            me.log("tPostJSONList, isErrorResponse?",FM.logLevels.info,me.getClassName());150            if(151                !response || 152                !FM.isset(response.getAttr) || 153                !FM.isObject(response.getAttr("value",null))154            ) return true;155                156            var creds = response.getAttr("value",null);157            if(!FM.isset(creds, "IbAuthCookie")) return true;158            159            return false;            160        },161        listType: 'single',162        order:{163            orderAttribute: 'value',164            orderAttributeType: 'STRING',165            orderType: 'ASC'166        }                167    });168    169    var me = this;170    oList.addListener({171        onListStart: function(l,oArgs) {172            me.log("tPostJSONList, onListStart event:",FM.logLevels.info,me.getClassName());173            me.log(oArgs,FM.logLevels.info,me.getClassName());174        },175        onListError: function(l,oErr) {176            me.log("tPostJSONList, onListError event:",FM.logLevels.info,me.getClassName());177            me.log(oErr.getAttr(),FM.logLevels.info,me.getClassName());178            me.addResult('tPostJSONList',false);179            180        },181        onListEnd: function(l,oData) {182            me.log("tPostJSONList, onListEnd event:",FM.logLevels.info,me.getClassName());183            me.log(oData,FM.logLevels.info,me.getClassName());184            me.log("tPostJSONList, onListEnd list size:" + l.getListSize(),FM.logLevels.info,me.getClassName());185            me.addResult('tPostJSONList',true);186        }        187    });    188    189    oList.getData();190}     191// static192FM.TstDmList.className = "TstDmList";...Itinerary.jsx
Source:Itinerary.jsx  
...36        return <p>Loading...</p>37    }38    return (39        <div>40            <div className={getClassName("flight-details")}>41                <div className={getClassName("flight-time-place")}>42                    {/* <img src={airLineLogoOutbound} alt="airline_logo_outbound"></img>43                    <img src={airLineLogoInbound} alt="airline_logo_inbound"></img> */}44                    <div className={getClassName("top-row")}>45                        <div className={getClassName("top-row-col1")}>46                            <section className={getClassName("flight")}>47                                <div className={getClassName("column")}>48                                    <p className={getClassName("bold")}>{moment(itineraryLegs[0].departure_time).format('HH:mm')}</p>49                                    <p>{itineraryLegs[0].departure_airport}</p>50                                </div>51                                <h1> > </h1>52                                <div className={getClassName("column")}>53                                    <p className={getClassName("bold")}>{moment(itineraryLegs[0].arrival_time).format('HH:mm')}</p>54                                    <p>{itineraryLegs[0].arrival_airport}</p>55                                </div>56                            </section>57                            <section className={getClassName("flight")}>58                                <div className={getClassName("column")}>59                                    <p className={getClassName("bold")}>{moment(itineraryLegs[1].departure_time).format('HH:mm')}</p>60                                    <p>{itineraryLegs[1].departure_airport}</p>61                                </div>62                                <h1> > </h1>63                                <div className={getClassName("column")}>64                                    <p className={getClassName("bold")}>{moment(itineraryLegs[1].arrival_time).format('HH:mm')}</p>65                                    <p>{itineraryLegs[1].arrival_airport}</p>66                                </div>67                            </section>68                        </div>69                        <div className={getClassName("top-row-col2")}>70                            <section className={getClassName("time-stops")}>71                                <div className={getClassName("column")}>72                                    <p>{itineraryLegs[0].duration_mins} mins</p>73                                    <p>{(itineraryLegs[0].stops > 0) ? itineraryLegs[0].stops + ' Stop' : 'Direct'}</p>74                                </div>75                                <div className={getClassName("column")}>76                                    <p>{itineraryLegs[1].duration_mins} mins</p>77                                    <p>{(itineraryLegs[1].stops > 0) ? itineraryLegs[1].stops + ' Stop' : 'Direct'}</p>78                                </div>79                            </section>80                        </div>81                    </div>82                </div>83                <div className={getClassName("bottom-row")}>84                    <div >85                        <p className={getClassName("price")}>{price}</p>86                        <p id='red'>{agent}</p>87                    </div>88                    <div>89                        <button className={getClassName("select-button")}>Select</button>90                    </div>91                </div>92            </div>93        </div>94    )...FlightsListItem.jsx
Source:FlightsListItem.jsx  
...7const getClassName = (className) => STYLES[className] || 'UNKNOWN';8const FlightsListItem = ({ flight }) => {9  const { price, agent, legs } = flight;10  return (11    <li className={getClassName('FlightsListItem')}>12      <div className={getClassName('FlightsListItem__legs')}>13        {legs.map((leg) => {14          const {15            id: legId,16            airline_id,17            airline_name,18            arrival_airport,19            departure_airport,20            arrival_time,21            departure_time,22            duration_mins: duration,23            stops,24          } = leg;25          const convertedArrivalTime = convertFlightTime(arrival_time);26          const convertedDepartureTime = convertFlightTime(departure_time);27          const convertedFlightDuration = convertFlightDuration(duration);28          return (29            <div30              className={getClassName('FlightsListItem__legs__leg')}31              key={legId}32            >33              <img34                src={`https://logos.skyscnr.com/images/airlines/favicon/${airline_id}.png`}35                alt={`${airline_name}`}36                className={getClassName(37                  'FlightsListItem__legs__leg__airline-image'38                )}39              />40              <div41                className={getClassName(42                  'FlightsListItem__legs__leg__departure'43                )}44              >45                <BpkText46                  tagName="p"47                  className={getClassName(48                    'FlightsListItem__legs__leg__departure__time'49                  )}50                >51                  {convertedDepartureTime}52                </BpkText>53                <BpkText54                  tagName="p"55                  className={getClassName(56                    'FlightsListItem__legs__leg__departure__airport'57                  )}58                >59                  {departure_airport}60                </BpkText>61              </div>62              <BpkText textStyle="base">63                <LongArrowRightIcon64                  className={getClassName('FlightsListItem__legs__leg__arrow')}65                />66              </BpkText>67              <div68                className={getClassName('FlightsListItem__legs__leg__arrival')}69              >70                <BpkText71                  tagName="p"72                  className={getClassName(73                    'FlightsListItem__legs__leg__arrival__time'74                  )}75                >76                  {convertedArrivalTime}77                </BpkText>78                <BpkText79                  tagName="p"80                  className={getClassName(81                    'FlightsListItem__legs__leg__arrival__airport'82                  )}83                >84                  {arrival_airport}85                </BpkText>86              </div>87              <div88                className={getClassName(89                  'FlightsListItem__legs__leg__duration-stops'90                )}91              >92                <BpkText93                  className={getClassName(94                    'FlightsListItem__legs__leg__duration-stops__duration'95                  )}96                  tagName="p"97                >98                  {convertedFlightDuration}99                </BpkText>100                <BpkText101                  className={getClassName(102                    `FlightsListItem__legs__leg__duration-stops__stops__${103                      stops === 0 ? 'primary' : 'red'104                    }`105                  )}106                  tagName="p"107                >108                  {stops === 0 ? `Direct` : `${stops} Stop`}109                </BpkText>110              </div>111            </div>112          );113        })}114      </div>115      <div className={getClassName('FlightsListItem__select')}>116        <div className={getClassName('FlightsListItem__select__agent-price')}>117          <BpkText118            className={getClassName(119              'FlightsListItem__select__agent-price__price'120            )}121            tagName="p"122          >123            {price}124          </BpkText>125          <BpkText126            className={getClassName(127              'FlightsListItem__select__agent-price__agent'128            )}129            tagName="p"130          >131            {agent.toLowerCase()}132          </BpkText>133        </div>134        <button className={getClassName('FlightsListItem__select__button')}>135          Select136        </button>137      </div>138    </li>139  );140};...TaskStatsTable.js
Source:TaskStatsTable.js  
...21  getStagedTaskCount: "STAGED",22  getMedianLifeTime: "MEDIAN LIFETIME"23};24class TaskStatsTable extends React.Component {25  getClassName(prop, sortBy) {26    const shouldAlignRight =27      taskStatus.includes(prop) || prop === "getMedianLifeTime";28    return classNames({29      active: prop === sortBy.prop,30      "text-align-right": shouldAlignRight,31      "hidden-small-down": taskStatus.includes(prop)32    });33  }34  getColumns() {35    const getClassName = this.getClassName;36    const heading = this.renderHeading;37    return [38      {39        className: getClassName,...helpers.js
Source:helpers.js  
...53  return media;54}55export function setupClassNames(rootElement, cssModule) {56  return {57    boxA: getClassName(`${rootElement}__boxA`, cssModule),58    boxB: getClassName(`${rootElement}__boxB`, cssModule),59    box: getClassName(`${rootElement}__box`, cssModule),60    container: getClassName(`${rootElement}__container`, cssModule),61    wrapper: getClassName(`${rootElement}__wrapper`, cssModule),62    bar: getClassName(`${rootElement}__bar`, cssModule),63    barActive: getClassName(`${rootElement}__bar--active`, cssModule),64    barEnd: getClassName(`${rootElement}__bar--end`, cssModule),65    content: getClassName(`${rootElement}__content`, cssModule),66    contentStatic: getClassName(`${rootElement}__content--static`, cssModule),67    contentMoveLeft: getClassName(68      `${rootElement}__content--moveLeft`,69      cssModule70    ),71    contentMoveRight: getClassName(72      `${rootElement}__content--moveRight`,73      cssModule74    ),75    controlsActive: getClassName(`${rootElement}__controls--active`, cssModule),76    animated: getClassName(`${rootElement}--animated`, cssModule),77    animatedMobile: getClassName(`${rootElement}--animated-mobile`, cssModule),78    contentExit: getClassName(`${rootElement}__content--exit`, cssModule),79    exit: getClassName(`${rootElement}--exit`, cssModule),80    active: getClassName(`${rootElement}--active`, cssModule),81    moveLeft: getClassName(`${rootElement}--moveLeft`, cssModule),82    moveRight: getClassName(`${rootElement}--moveRight`, cssModule),83    startUp: getClassName(`${rootElement}__startUp`, cssModule),84    bulletsLoading: getClassName(`${rootElement}__bullets--loading`, cssModule),85  };...step.js
Source:step.js  
...20    }21    setVersion(vrsn) {22      this.version = vrsn;23    }24    getClassName() {25      return this.constructor.name;26    }27    getName() {28      return this.name;29    }30    31    async script() {32      console.log('sql', this.sql);33      return this.sql;34    }35    async run(client) {36      // console.log('run 1', this.getClassName());37        this.client = client;38        // console.log('run 2', this.getClassName());39        await this.process(client);  40        // console.log('run out', this.getClassName());41        return this;42    }43    async process(client) {44      // console.log('  process 1', this.getClassName());45      // console.log('  client ', client);46      console.log('  -', this.getName());47      if (!client) {48        console.log('** Step BAD CLIENT');49      }50      // console.log('** ', this.getClassName(), this.getName());51      // console.log('  sql ', this.sql);52      this.result = await client.query({53        text: this.sql54      }).then(result => {55          this.result = [];56          // console.log('  process 2', this.getClassName());57          for (let res in result) {58            59            if (result && result[res] && result[res].command && result[res]['command'] === 'SELECT') {60              this.result.push(result[res]['rows']);61            }62            63          }64          // console.log('  process 3', this.getClassName());65          this.show();66          // console.log('  process 4', this.getClassName());67      })68      .catch(e => {69          // this.err = e;70          console.error('** Step name: "', this.constructor.name,'" error:' , e);71      });72      // console.log('  process out', this.getClassName());73    }74    show() {75      /* $lab:coverage:off$ */76      for (let i in this.result) {77        if (this.result[i][0]) {78          console.log('    ---- ',i, this.result[i][0]);79        }80      }81      /* $lab:coverage:on$ */82    }83  // $lab:coverage:on$...Using AI Code Generation
1const { getClassName } = require('@playwright/test/lib/utils/utils');2const { test } = require('@playwright/test');3test('getClassName', async ({ page }) => {4    const className = await page.evaluate(getClassName);5    console.log(className);6});7[MIT](LICENSE)Using AI Code Generation
1const { getClassName } = require('playwright/lib/utils/utils');2const { ElementHandle } = require('playwright/lib/client/elementHandler');3const { Page } = require('playwright/lib/client/page');4const { Frame } = require('playwright/lib/client/frame');5const { Worker } = require('playwright/lib/client/worker');6const { JSHandle } = require('playwright/lib/client/jsHandle');7const { ConsoleMessage } = require('playwright/lib/client/console');8const { Dialog } = require('playwright/lib/client/dialog');9const { Download } = require('playwright/lib/client/download');10const { WebSocket } = require('playwright/lib/client/webSocket');11const { Request } = require('playwright/lib/client/network');12const { Response } = require('playwright/lib/client/network');13const { Route } = require('playwright/lib/client/network');14const { CRSession } = require('playwright/lib/client/chromium/crConnection');15const { CRBrowser } = require('playwright/lib/client/chromium/crBrowser');16const { CRPage } = require('playwright/lib/client/chromium/crPage');17const { CRBrowserContext } = require('playwright/lib/client/chromium/crBrowser');18const { CRConnection } = require('playwright/lib/client/chromium/crConnection');19const { CRSessionPool } = require('playwright/lib/client/chromium/crConnection');20const { CRBrowserServer } = require('playwright/lib/client/chromium/crBrowser');21const { CRNetworkManager } = require('playwright/lib/client/chromium/crNetworkManager');22const { CRPageProxy } = require('playwright/lib/client/chromium/crPage');23const { CRExecutionContext } = require('playwright/lib/client/chromium/crExecutionContext');24const { CRDialog } = require('playwright/lib/client/chromium/crDialog');25const { CRFrameManager } = require('playwright/lib/client/chromium/crFrameManager');26const { CRFrame } = require('playwright/lib/client/chromium/crFrame');27const { CRInput } = require('playwright/lib/client/chromium/crInput');28const { CRExecutionContext } = require('playwright/lib/client/chromium/crExecutionContext');29const { CRKeyboard } = require('playwright/lib/client/chromium/crInput');30const { CRMouse } = require('playwright/lib/client/chromium/crInput');31const { CRWorkerUsing AI Code Generation
1const { getClassName } = require('@playwright/test/lib/utils/utils');2const { test } = require('@playwright/test');3test('test', async ({ page }) => {4  const element = await page.$('div');5  console.log(getClassName(element));6});7const { getClassName } = require('@playwright/test/lib/utils/utils');8const { test } = require('@playwright/test');9test('test', async ({ page }) => {10  const element = await page.$('div');11  console.log(getClassName(element));12});13const { getInnerText } = require('@playwright/test/lib/utils/utils');14const { test } = require('@playwright/test');15test('test', async ({ page }) => {16  const element = await page.$('div');17  console.log(getInnerText(element));18});19const { getOuterHTML } = require('@playwright/test/lib/utils/utils');20const { test } = require('@playwright/test');21test('test', async ({ page }) => {22  const element = await page.$('div');23  console.log(getOuterHTML(element));24});25const { getInnerHTML } = require('@playwright/test/lib/utils/utils');26const { test } = require('@playwright/test');27test('test', async ({ page }) => {28  const element = await page.$('div');29  console.log(getInnerHTML(element));30});31const { getCSSValue } = require('@playwright/test/lib/utils/utils');32const { test } = require('@playwright/test');Using AI Code Generation
1const { getClassName } = require('@playwright/test/lib/utils/utils');2const { test } = require('@playwright/test');3const assert = require('assert');4test('test', async ({ page }) => {5  const className = getClassName(page);6  assert.strictEqual(className, 'Page');7});Using AI Code Generation
1const { getClassName } = require('@playwright/test/lib/utils/utils');2const className = getClassName('some string');3console.log(className);4const { getTestType } = require('@playwright/test/lib/utils/utils');5const testType = getTestType('some string');6console.log(testType);7const { getTestInfo } = require('@playwright/test/lib/utils/utils');8const testInfo = getTestInfo('some string');9console.log(testInfo);10const { getFixtureOverrides } = require('@playwright/test/lib/utils/utils');11const fixtureOverrides = getFixtureOverrides('some string');12console.log(fixtureOverrides);13const { getTestOverrides } = require('@playwright/test/lib/utils/utils');14const testOverrides = getTestOverrides('some string');15console.log(testOverrides);16const { getTestFixtures } = require('@playwright/test/lib/utils/utils');17const testFixtures = getTestFixtures('some string');18console.log(testFixtures);19const { getTestParameters } = require('@playwright/test/lib/utils/utils');20const testParameters = getTestParameters('some string');21console.log(testParameters);LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
