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

Automated Testing Background Information

FitNesse Testing from your Development Environment - Discussion

FitNesse Testing from your Development Environment - Demonstration

FitNesse Testing from the Command Line - Discussion

FitNesse Testing from the Command Line - Demonstration

FitNesse Testing - Review, Execute and Modify Examples

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*  |         |