.. balder documentation master file, created by
   sphinx-quickstart on Fri Jan 22 20:19:38 2021.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Balder: Testing real-world complexity
*************************************

.. toctree::
   :maxdepth: 2
   :hidden:

   getting_started/index.rst
   tutorial_guide/index.rst
   basics/index.rst
   deeper/index.rst
   api/index.rst

   BalderHub <https://hub.balder.dev>

Balder is a Python test framework that allows you to reuse test code you've written once across different platforms,
devices, or applications. This means, that you can **install ready-to-use tests** or apply your
**own pre-written tests** to evaluate all kinds of software - without reinventing the wheel.


.. raw:: html

   <div class="balder-highlight-container">

     <div class="balder-row">
       <div class="balder-image-side">
         <img src="_static/icons8/icons8-connect.svg" alt="connection icon" />
       </div>
       <div class="balder-text-side">
         <h4>Scalability without the Headache</h4>
         <p>
           Write a single test scenario for your core business logic, and reuse it across the web, mobile apps,
           desktop applications, or even embedded devices.
           <br/><br/>
           <b>No rewrites are needed!</b>
         </p>
       </div>
     </div>

     <div class="balder-row reverse">
       <div class="balder-image-side">
         <img src="_static/icons8/icons8-share.svg" alt="share icon" />
       </div>
       <div class="balder-text-side">
         <h4>Reusability at its Core</h4>
         <p>
           Every component in Balder is designed with sharing in mind. You can package your Balder tests or/and
           test-features and easily share them <b>within your company</b> or with the <b>entire open-source community</b>.
         </p>
       </div>
     </div>

     <div class="balder-row">
       <div class="balder-image-side">
         <img src="_static/icons8/icons8-synchronize.svg" alt="synchronization icon" />
       </div>
       <div class="balder-text-side">
         <h4>Testing Multiple Versions - all at once</h4>
         <p>
           Stop copying your test code every time a new product version comes out. Simply replace the specific test
           features that change in the product.
           <br/><br/>
           <b>Balder will manage everything else</b> seamlessly!
         </p>
       </div>
     </div>

     <div class="balder-row reverse">
       <div class="balder-image-side">
         <img src="_static/icons8/icons8-file.svg" alt="file icon" />
       </div>
       <div class="balder-text-side">
         <h4>Ready-to-use Tests</h4>
         <p>
           BalderHub projects allow you to install tests just like any other Python package.
           <br/><br/>
           Simply integrate them into your workflow and <b>start using them</b> right away!
         </p>
       </div>
     </div>

     <div class="balder-row">
       <div class="balder-image-side">
         <img src="_static/icons8/icons8-checkmark.svg" alt="checkmark icon" />
       </div>
       <div class="balder-text-side">
         <h4>Test-your-Tests</h4>
         <p>
           Testing your tests can help reduce flaky ones, but it often takes a lot of time.
           <br/><br/>
           Not with Balder: <b>Testing your tests has never been easier</b>.
         </p>
       </div>
     </div>

     <div class="balder-row reverse">
       <div class="balder-image-side">
         <img src="_static/icons8/icons8-user.svg" alt="user icon" />
       </div>
       <div class="balder-text-side">
         <h4>Community driven power</h4>
         <p>
           Tests thrive when <b>maintained by a collective</b>. Balder fosters collaboration, where diverse minds
           tackle complex challenges <b>together</b>.
           <br/><br/>
           Leading to robust solutions that a single team could never achieve alone.
         </p>
       </div>
     </div>

   </div>



Are you up for it?
==================

Let's dive in and explore our tutorials.

.. raw:: html

   <div class="balder-button-grid">
     <a class="balder-button-item" href="./tutorial_guide/01_develop_first_test.html">
       <h4>Writing your first own test</h4>
       <p>Let's develop a real-world test for NextCloud</p>
     </a>
     <a class="balder-button-item" href="./tutorial_guide/02_install_first_web_tests.html">
       <h4>Installing tests</h4>
       <p>Install tests for validating file operations of the NextCloud Web App</p>
     </a>
     <a class="balder-button-item" href="./tutorial_guide/03_port_web_tests_to_cli.html">
       <h4>Reusing Web Test to test a CLI</h4>
       <p>Multiply your efforts, without multiplying your workload</p>
     </a>
     <a class="balder-button-item" href="https://hub.balder.dev/en/latest/develop_own.html">
       <h4>Publish your Tests</h4>
       <p>Write your own BalderHub package and share it with your company or with the whole world</p>
     </a>
   </div>


To get a short introduction to how Balder works, take a look at the :ref:`Getting Started <Getting Started>` section.
It provides a brief overview of the theory behind the Balder test system. You'll find a detailed explanation of all
components in the :ref:`Basic Guides <Basic Guides>`.

The different subsections of :ref:`Basic Guides <Basic Guides>` and :ref:`Reference Guides <Reference Guides>` are
written independently of each other. So feel free to jump to any subsection you want to learn more about. However, we
always recommend starting with the complete :ref:`Getting Started <Getting Started>` section before diving deeper into
the :ref:`Basic Guides <Basic Guides>` and :ref:`Reference Guides <Reference Guides>`.

Let's build the open-source testing universe together
=====================================================


Help to build the future of testing, by developing your own BalderHub project.

`With BalderHub projects <https://hub.balder.dev>`__, you can easily share your tests with your team, your company, or
even the entire world.

Help build the future of testing
`by creating your own BalderHub project <https://hub.balder.dev/en/latest/develop_own.html>`__.


.. raw:: html

   <dl class="footnote">
      <dt class="label"><em>Icons from</em></dt>
      <dd><p><em><a href="https://icons8.com">icons8.com</a></em></p></dd>
   </dl>
