Automated and Regression Testing with FitNesse and Selenium

The purpose of this page is to help you automate your iDempiere testing. If you make changes to iDempiere's application dictionary or code, automated testing can help make sure your changes have the intended consequences and help prevent unintended one.

Automated Testing Introduction

video

Automated Testing Background Information

video

FitNesse Testing from your Development Environment - Discussion

video

FitNesse Testing from your Development Environment - Demonstration

video

FitNesse Testing from the Command Line - Discussion

video

FitNesse Testing from the Command Line - Demonstration

video

FitNesse Testing - Review, Execute and Modify Examples

video

FitNesse Testing - Review, Execute and Modify Examples

Here is a sample test that creates an invoice, completes the invoice, creates a payment against the invoice, completes the payment (and the allocation), voids the payment and the allocation.

If you want to perform load testing, you can create multiple tests like the one below and run them in parallel. While you cannot run the exact same test at the same time on the same fitnesse server, you can run different tests at the same time.  I single test can easily create 1000's of records in minutes.

!include -c TestLoginGardenAdmin

!|Create Record|
|*Table*     |C_Invoice            |
|ad_org_id       |11                   |
|dateinvoiced         |2002-02-22 00:00:00.0|
|issotrx       |Y                    |
|c_doctype_id    |116                  |
|c_bpartner_id   |112                  |
|c_bpartner_location_id|108|
|c_currency_id   |100                  |
|description     |Testing from fitnesse2|
|*Save*  |         |

!|Create Record|
|*Table*     |C_InvoiceLine            |
|C_Invoice_ID|@C_Invoice.C_Invoice_ID@|
|ad_org_id       |11                   |
|c_charge_id|100|
|c_tax_id|104|
|qtyentered|100|
|qtyinvoiced|100|
|priceentered|100|
|priceactual|100|
|*Save*  |         |

!|Set DocAction|
|*Table* |C_Invoice               |
|C_Invoice_ID|@C_Invoice.C_Invoice_ID@|
|docAction   |CO                      |
|*Save*  |         |

!|Create Record|
|*Table*     |C_Payment            |
|ad_org_id       |11                   |
|datetrx         |2002-02-22 00:00:00.0|
|isreceipt       |Y                    |
|c_doctype_id    |119                  |
|c_bankaccount_id|100                  |
|c_bpartner_id   |112                  |
|C_Invoice_ID|@C_Invoice.C_Invoice_ID@|
|tendertype      |K                    |
|c_currency_id   |100                  |
|payamt          |98.8                 |
|discountamt     |1.9                  |
|description     |Testing from fitnesse|
|isprepayment    |N                    |
|*Save*  |         |

!|Set DocAction|
|*Table* |C_Payment               |
|C_Payment_ID|@C_Payment.C_Payment_ID@|
|docAction   |CO                      |
|*Save*  |         |

!|Set DocAction|
|*Table* |C_Payment               |
|C_Payment_ID|@C_Payment.C_Payment_ID@|
|docAction   |RE                      |
|*Save*  |         |
2 comments on “Automated and Regression Testing with FitNesse and Selenium
  1. Hans Riess says:

    Is there a way to run tests in parallel in order to simulate dead lock conditions. Probably run 2 or more instances of fitness server and execute the same set of tests…

    • cboecking says:

      You can run two tests at the same time from the same fitnesse server instance; however, the tests must be two different tests. You cannot run the same test simultaneously from two different browsers. These are my findings.

Leave a Reply