<div>
<p class="font-family: Consolas; font-size: larger; font-variant: small-caps; text-align: center; text-decoration: underline;">
QA-Driver reference specification for implementing <code>TestDriver</code> & <code>WebDriver</code>
</p>
<ul>
<li>jQuery, Ringmark testsuites are clubbed with QADriver.</li>
<li>jQuery, Ringmark are trademarks/copyrighted by their respective owners, and are
authored by their respective teams.</li>
<li>We do not change code of referenced testsuites. We respect their effort, and acknowledge
our gratitude for making them available. All we do is to merge it with QADriver,
to facilitate automated execution of array of testsuites from various mentors.</li>
</ul>
<b><code>
<center>
Specification for QADriver:
</center>
<br />
<center>
===========================</center>
<br />
</code></b>
<ol>
<li>
<ol>
<li><code>TestCases[c]</code>, let total testcases count be referenced using variable
"<code>c</code>" </li>
<li>Declaration:
<ul>
<li>JSON-Nodes</li>
<li>Array of strings</li>
</ul>
</li>
<li>Definition:
<ul>
<li>Ensure JSON-Nodes array are assigned a valid URI for each testcase. </li>
<li>Array of strings, consider having a common base URI if all tests are retrieved from
a single host.</li>
</ul>
</li>
</ol>
</li>
<li>Execution (<code>validCaseURLs[]</code>, <code>invalidCaseURLs[]</code>)
<ol>
<li>Read testcase URI from TestCases[i]. </li>
<li>Verify validity using Pre-fetch javascript snippet. </li>
<ul>
<li> Increment <code>count of invalid URLs (Say, k</code>), and </li>
<li>assign the URL as string to array "<code>InvalidTests[k]</code>"</li>
<ol>
</ul>
</ol>
<ol>
</ol>
<ol>
2.3.1 If referenced resource fetches a proper response then perform these steps.
Increment count of valid URLs (Say, i), and assign the URL as string to array "<code>ValidTests[i]</code>"
</ol>
<ol>
2.3.2. Else, if reference is invalid/undefined (Not applicable in context of Application-Layer.
A testcase can be asserting negative scenario thereby an intentional malfunctioning
might take place. Example, testing HTTP response code 404 handler.)
<li>An optional step to verify "c = i + k" can be used for tallying total testcases
count. </li>
<li>Browsing context - Individual testcase scope provided using iFrame/Window. </li>
<li>"Preferences" either using JSON-format/hardcoded, contains "SnapshotCount". It represents
the number of Browsing-contexts maintained for executing testcases. "ContextType"
is a preference, that indicates whether "iFrame" should be used, or "Window" be
used for instantiating every testcase for execution. </li>
</ol>
</li>
</ol>
</div>