JSFiddle - React, Tailwind, and code Playground

by Chandana Thota

HTML

<ul id="ulId">
  <li id="liId1">One</li>
  <li id="liId2">Two</li>
  <li id="liId3">Three</li>
</ul>
<div id="info" class="clsInfo"> test</div>

<input type="text" id="simpleTextbox">

CSS

#info {
  color: #F93;
  font-weight: bold;
  margin-top: 50px;
}

JavaScript

$(document).on('contextmenu', function(e) {
  var elementObject = GenerateElementObject(e);
  var scenarioTestCases = GenerateCases(elementObject);
  return false;
});

function GenerateCases(elementObject) {
  var testCases = [];
  if (elementObject.id != '') {
    testCases.push('I seeElement(' + `'` + elementObject.id + `'` + ')');
    testCases.push('I click(' + `'` + elementObject.id + `'` + ')');
    testCases.push('I waitForElement(' + `'` + elementObject.id + `'` + ')');
    testCases.push('I waitForElement(' + `'` + elementObject.id + `'` + ',' + '30' + ')');
  }
  if (elementObject.class != '') {
    testCases.push('I seeElement(' + `'` + elementObject.class + `'` + ')');
    testCases.push('I click(' + `'` + elementObject.class + `'` + ')');
    testCases.push('I waitForElement(' + `'` + elementObject.class + `'` + ')');
    testCases.push('I waitForElement(' + `'` + elementObject.class + `'` + ',' + '30' + ')');
  }
  if (elementObject.elementText != '') {
    testCases.push('I see(' + `'` + elementObject.elementText.trim() + `'` + ')');
    testCases.push('I click(' + `'` + elementObject.elementText.trim() + `'` + ')');
  }
  if (elementObject.elementText != '' && elementObject.class != '') {
    testCases.push('I see(' + `'` + elementObject.elementText.trim() + `'` + ',' + `'` + elementObject.class + `'` + ')');
    testCases.push('I click(' + `'` + elementObject.elementText.trim() + `'` + ',' + `'` + elementObject.class + `'` + ')');
  }
  if (elementObject.elementText != '' && elementObject.id != '') {
    testCases.push('I see(' + `'` + elementObject.elementText.trim() + `'` + ',' + `'` + elementObject.id + `'` + ')');
    testCases.push('I click(' + `'` + elementObject.elementText.trim() + `'` + ',' + `'` + elementObject.id + `'` + ')');
  }
  if (elementObject.controlType != '' && elementObject.controlType == 'INPUT') {
    testCases.push('I fillField(' + `'` + elementObject.id + `'` + ',' + `'` + 'boomshakalaka' + `'` + ')');
  }

 ...