QA SoftVision Team/Mobile/Writing tests: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:
* The test must be included in the same package as all other Robocop tests
* The test must be included in the same package as all other Robocop tests


= Basic structure of the test ==  
= Basic structure of the test =  


  package org.mozilla.fennec_root.tests;
  package org.mozilla.fennec_root.tests; // Robotium test package
   
   
  import org.mozilla.fennec_root.*;
  import org.mozilla.fennec_root.*; // import the package in order to be able to reuse classes if needed
   
   
  /*
  /*
Line 19: Line 19:
  public class test[Feature_to_be_tested] extends BaseTest {
  public class test[Feature_to_be_tested] extends BaseTest {
     @Override
     @Override
    // This method is needed in the BaseTest class
     protected int getTestType() {
     protected int getTestType() {
         return TEST_MOCHITEST; -- Test type should remain Mochitest
         return TEST_MOCHITEST; // Test type should remain Mochitest
     }
     }
     /*  
     /*  
     * This is the class constructor  
     * This is the class constructor  
     * This function will contatin the test that will be ran
     * This method will contatin the test that will be ran
     */
     */
     public void testLoad() {
     public void testLoad() {
Line 30: Line 31:
     }
     }
  }
  }
* This is a basic structure of a Robocop test
* Each test class must have three methods:
** protected void setUp() // Starts Fennec and sets up commonly used member variables. This is usually very similar for every test class
** public void test[YourFeature]() // Your test code goes here. Use the Robocop API to access Fennec elements, click, send keys, and assert conditions.
** public void tearDown() // Clean up.
* If your tests extends BaseTest then you will not need to add the methods setUp() and tearDown() as they are already defined in BaseTest
* If you need to do extra clean-up, like removing entries you added in a database for e.g., the tearDown() method can be overwrittern but make sure the first line of the method is '''super.tearDown()'''. The same is applicable for setUp().

Revision as of 08:44, 10 September 2012

Getting Started

  • You can find information about setting up the enviroment for running the tests here
  • Please make sure to look over this page for some general information about Robocop tests.
  • Robocop is a Java API based on the Robotium API used for automation testing on the Android OS
  • The existing test cases can be found in the sorce directory under the folder mobile/android/base/tests
  • The class that will cover the text will have to be named the same as the test file
  • The test file name should be test[Feature_to_be_tested].java.in
  • The test must be included in the same package as all other Robocop tests

Basic structure of the test

package org.mozilla.fennec_root.tests; // Robotium test package

import org.mozilla.fennec_root.*; // import the package in order to be able to reuse classes if needed

/*
Insert info about the test here - a basic description of what the test does
 */
public class test[Feature_to_be_tested] extends BaseTest {
    @Override
    // This method is needed in the BaseTest class
    protected int getTestType() {
        return TEST_MOCHITEST; // Test type should remain Mochitest
    }
    /* 
    * This is the class constructor 
    * This method will contatin the test that will be ran
    */
    public void testLoad() {
   
    }
}
  • This is a basic structure of a Robocop test
  • Each test class must have three methods:
    • protected void setUp() // Starts Fennec and sets up commonly used member variables. This is usually very similar for every test class
    • public void test[YourFeature]() // Your test code goes here. Use the Robocop API to access Fennec elements, click, send keys, and assert conditions.
    • public void tearDown() // Clean up.
  • If your tests extends BaseTest then you will not need to add the methods setUp() and tearDown() as they are already defined in BaseTest
  • If you need to do extra clean-up, like removing entries you added in a database for e.g., the tearDown() method can be overwrittern but make sure the first line of the method is super.tearDown(). The same is applicable for setUp().