Structure.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. <!DOCTYPE html>
  2. <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
  3. <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Structure of baangt &mdash; baangt 1.1.1 documentation</title>
  8. <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
  9. <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
  10. <script type="text/javascript" src="_static/jquery.js"></script>
  11. <script type="text/javascript" src="_static/underscore.js"></script>
  12. <script type="text/javascript" src="_static/doctools.js"></script>
  13. <script type="text/javascript" src="_static/language_data.js"></script>
  14. <script type="text/javascript" src="_static/js/theme.js"></script>
  15. <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  16. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  17. <link rel="stylesheet" href="_static/theme_overrides.css" type="text/css" />
  18. <link rel="index" title="Index" href="genindex.html" />
  19. <link rel="search" title="Search" href="search.html" />
  20. <link rel="next" title="Parameters in Configuration files (globals)" href="ParametersConfigFile.html" />
  21. <link rel="prev" title="Jump-start into worry free production deployments" href="simpleExample.html" />
  22. </head>
  23. <body class="wy-body-for-nav">
  24. <div class="wy-grid-for-nav">
  25. <nav data-toggle="wy-nav-shift" class="wy-nav-side">
  26. <div class="wy-side-scroll">
  27. <div class="wy-side-nav-search" >
  28. <a href="index.html" class="icon icon-home"> baangt
  29. </a>
  30. <div role="search">
  31. <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
  32. <input type="text" name="q" placeholder="Search docs" />
  33. <input type="hidden" name="check_keywords" value="yes" />
  34. <input type="hidden" name="area" value="default" />
  35. </form>
  36. </div>
  37. </div>
  38. <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
  39. <p class="caption"><span class="caption-text">Contents:</span></p>
  40. <ul class="current">
  41. <li class="toctree-l1"><a class="reference internal" href="Installation.html"> Installation</a></li>
  42. <li class="toctree-l1"><a class="reference internal" href="OverviewUsage.html"> Overview</a></li>
  43. <li class="toctree-l1"><a class="reference internal" href="simpleExample.html"> First Steps</a></li>
  44. <li class="toctree-l1 current"><a class="current reference internal" href="#"> Structure</a><ul>
  45. <li class="toctree-l2"><a class="reference internal" href="#teststep">TestStep</a></li>
  46. <li class="toctree-l2"><a class="reference internal" href="#teststepsequence">TestStepSequence</a></li>
  47. <li class="toctree-l2"><a class="reference internal" href="#testcase">TestCase</a></li>
  48. <li class="toctree-l2"><a class="reference internal" href="#testcasesequence">TestCaseSequence</a></li>
  49. <li class="toctree-l2"><a class="reference internal" href="#testrun">TestRun</a></li>
  50. </ul>
  51. </li>
  52. <li class="toctree-l1"><a class="reference internal" href="ParametersConfigFile.html"> Parameters</a></li>
  53. <li class="toctree-l1"><a class="reference internal" href="SimpleAPI.html"> First API Test</a></li>
  54. <li class="toctree-l1"><a class="reference internal" href="TestTypes.html"> Types of Tests</a></li>
  55. <li class="toctree-l1"><a class="reference internal" href="DataFile.html"> Data file</a></li>
  56. <li class="toctree-l1"><a class="reference internal" href="SaveResults2Database.html"> Results in Database</a></li>
  57. <li class="toctree-l1"><a class="reference internal" href="HistoryAndReasons.html"> History</a></li>
  58. <li class="toctree-l1"><a class="reference internal" href="contributors.html"> Contributions</a></li>
  59. <li class="toctree-l1"><a class="reference internal" href="changelog.html"> Changelog</a></li>
  60. <li class="toctree-l1"><a class="reference internal" href="PlannedFeatures.html"> Planned Features</a></li>
  61. <li class="toctree-l1"><a class="reference internal" href="BrowserDrivers.html"> Browser Drivers</a></li>
  62. <li class="toctree-l1"><a class="reference internal" href="Variables.html"> Variables</a></li>
  63. <li class="toctree-l1"><a class="reference internal" href="SendStatistics.html"> Results</a></li>
  64. <li class="toctree-l1"><a class="reference internal" href="Datagenerator.html">DataGenerator</a></li>
  65. <li class="toctree-l1"><a class="reference internal" href="Datagenerator.html#input-file">Input File</a></li>
  66. <li class="toctree-l1"><a class="reference internal" href="Datagenerator.html#data-type">Data Type</a></li>
  67. <li class="toctree-l1"><a class="reference internal" href="Datagenerator.html#all-data-types-format">All Data Types Format</a></li>
  68. <li class="toctree-l1"><a class="reference internal" href="Developer.html"> For Developers</a></li>
  69. <li class="toctree-l1"><a class="reference internal" href="baangt-Plugin.html">What is a baangt-plugin</a></li>
  70. <li class="toctree-l1"><a class="reference internal" href="baangt-Plugin.html#how-to-make-a-baangt-plugin">how to make a baangt-plugin</a></li>
  71. <li class="toctree-l1"><a class="reference internal" href="baangt-Plugin.html#how-the-baangt-plugin-work">how the baangt-plugin work</a></li>
  72. <li class="toctree-l1"><a class="reference internal" href="baangt-Plugin.html#how-to-replace-the-existing-plugin-by-your-own-one">how to replace the existing plugin by your own one</a></li>
  73. <li class="toctree-l1"><a class="reference internal" href="articles/Articles.html"> :subheader: Articles</a></li>
  74. <li class="toctree-l1"><a class="reference external" href="http://www.baangt.org"> Web</a></li>
  75. </ul>
  76. <p class="caption"><span class="caption-text">Autodocs:</span></p>
  77. <ul>
  78. <li class="toctree-l1"><a class="reference internal" href="docs/baangt.base.html">Autodocs</a></li>
  79. <li class="toctree-l1"><a class="reference internal" href="docs/modules.html">Modules</a></li>
  80. </ul>
  81. </div>
  82. </div>
  83. </nav>
  84. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
  85. <nav class="wy-nav-top" aria-label="top navigation">
  86. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  87. <a href="index.html">baangt</a>
  88. </nav>
  89. <div class="wy-nav-content">
  90. <div class="rst-content">
  91. <div role="navigation" aria-label="breadcrumbs navigation">
  92. <ul class="wy-breadcrumbs">
  93. <li><a href="index.html">Docs</a> &raquo;</li>
  94. <li>Structure of baangt</li>
  95. <li class="wy-breadcrumbs-aside">
  96. <a href="_sources/Structure.rst.txt" rel="nofollow"> View page source</a>
  97. </li>
  98. </ul>
  99. <hr/>
  100. </div>
  101. <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
  102. <div itemprop="articleBody">
  103. <div class="section" id="structure-of-baangt">
  104. <h1>Structure of baangt<a class="headerlink" href="#structure-of-baangt" title="Permalink to this headline">¶</a></h1>
  105. <p>If you never used any test automation software before, these terms can be intimidating, but in reality it’s all very simple.</p>
  106. <p>We’ll start from the bottom to the top.</p>
  107. <div class="section" id="teststep">
  108. <h2>TestStep<a class="headerlink" href="#teststep" title="Permalink to this headline">¶</a></h2>
  109. <p>A teststep is a single activity, for instance clicking on a button or sending a <code class="docutils literal notranslate"><span class="pre">GET</span></code> request to an API. A teststep has
  110. a mandatory parameter <code class="docutils literal notranslate"><span class="pre">Activity</span></code>. All other parameters depend on the chosen activity, for instance for Activitiy GOTOURL
  111. you need only a value (the URL where the browser should go to).</p>
  112. <p>For SetText you need a locatorType, the locator (which input field to send the text to) and the text itself.</p>
  113. <p>A teststep may have a timeout setting. If none given, system default will be considered.</p>
  114. </div>
  115. <div class="section" id="teststepsequence">
  116. <h2>TestStepSequence<a class="headerlink" href="#teststepsequence" title="Permalink to this headline">¶</a></h2>
  117. <p>Many Teststeps together are a TestStepSequence. The Sequence just defines, in which order each individual TestStep is
  118. executed. A TestStepSequence will provide timing information in the test report (Start- and End-Timestamps and
  119. Duration in Seconds)</p>
  120. </div>
  121. <div class="section" id="testcase">
  122. <h2>TestCase<a class="headerlink" href="#testcase" title="Permalink to this headline">¶</a></h2>
  123. <p>A Testcase is a Sequence of TestStepSequences. You might wonder, why this additional TestStepSequence is needed, why not
  124. simply write the TestSteps directly into the TestCase.</p>
  125. <p>First of all: you don’t need the TestStepSequence. In the simple XLSX-Format this grouping area doesn’t exist.
  126. Second: Imagine you have a login-page, a product bucket, product return functionality and invoice reprint functionality in
  127. your SPA and you want to test all of them. Obviously you’ll have at least 3 Testcases, but in all of them you’ll have to
  128. do a login. You can use the TestStepSequence to extract this repeated Sequence.</p>
  129. <p>In a Testcase we define not only the Sequence of TestStepSequences but also which type of Testcase (Browser, API, etc.)
  130. this is.</p>
  131. </div>
  132. <div class="section" id="testcasesequence">
  133. <h2>TestCaseSequence<a class="headerlink" href="#testcasesequence" title="Permalink to this headline">¶</a></h2>
  134. <blockquote>
  135. <div><p>Oh no, another level of confusion?!</p>
  136. </div></blockquote>
  137. <p>One or many TestCases can be grouped into a TestcaseSequence. The TestCaseSequence holds the
  138. connection to the datafile(s) to be used and which records to process in this TestRun. In a TestCaseSequence you could
  139. for instance group together the execution of a WEB-Page TestCase and subsequently the execution of an API-Call to retrieve
  140. results from another system. This scenario is of course mostly for corporate system landscapes, where the frontend (Web) communicates
  141. more or less asynchronous with backend components like Hosts, CRM-Systems, SAP-Backends and so on.</p>
  142. <p>By all means if you don’t need it: don’t use it. But in case you need it, it’s good to know it’s there.</p>
  143. </div>
  144. <div class="section" id="testrun">
  145. <h2>TestRun<a class="headerlink" href="#testrun" title="Permalink to this headline">¶</a></h2>
  146. <p>You guessed it by now. A TestRun as the highest level is a sequence of TestCaseSequences. Why would you need another level of grouping here?</p>
  147. <p>In End-2-End-Tests or Lifecycle tests you’d want to test the whole system’s functionality along a value stream:</p>
  148. <ul class="simple">
  149. <li><p>Create Partner in CRM-System</p></li>
  150. <li><p>Use Partner for a Contract</p></li>
  151. <li><p>Deliver Contract</p></li>
  152. <li><p>Invoice Contract</p></li>
  153. <li><p>Dunn invoice</p></li>
  154. <li><p>Post Payment</p></li>
  155. <li><p>Close contract</p></li>
  156. <li><p>Flag all Documents for archiving</p></li>
  157. <li><p>Archive all documents</p></li>
  158. </ul>
  159. <p>Each item of this list would be a TestCaseSequence with 1 to many testcases included, various systems, various Web-, API
  160. and other Interfaces within each TestCase.</p>
  161. <p>Again: If you don’t need it, just don’t use it. Every parameter has a default value assigned, so <code class="docutils literal notranslate"><span class="pre">baangt</span></code> will work
  162. perfectly without you touching things you don’t need.</p>
  163. </div>
  164. </div>
  165. </div>
  166. </div>
  167. <footer>
  168. <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
  169. <a href="ParametersConfigFile.html" class="btn btn-neutral float-right" title="Parameters in Configuration files (globals)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
  170. <a href="simpleExample.html" class="btn btn-neutral float-left" title="Jump-start into worry free production deployments" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
  171. </div>
  172. <hr/>
  173. <div role="contentinfo">
  174. <p>
  175. &copy; Copyright 2020, Bernhard Buhl
  176. </p>
  177. </div>
  178. Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
  179. </footer>
  180. </div>
  181. </div>
  182. </section>
  183. </div>
  184. <script type="text/javascript">
  185. jQuery(function () {
  186. SphinxRtdTheme.Navigation.enable(true);
  187. });
  188. </script>
  189. </body>
  190. </html>