Confirmed users
905
edits
(Created page with "= Steps to setup enviroment and start running tests= Note: To make things easyer you can run '''$sudo su''' in the Terminal you use so that all commands are run in admin mode and...") |
No edit summary |
||
| Line 1: | Line 1: | ||
= General Info = | |||
* This document will help you set up the enviroment and create the builds to test, create and run automated tests using Robocop | |||
* In order to run the tests you will need one build to be installed on the device - the Firefox Mobile build - and a second desktop build to send the commands to device - the automation build. | |||
= Steps to setup enviroment and start running tests= | = Steps to setup enviroment and start running tests= | ||
Note: To make things easyer you can run '''$sudo su''' in the Terminal you use so that all commands are run in admin mode and you do not need to add sudo befoare each command but '''make sure you are carefull with what you run in the terminal as admin mode will allow you to make changes to core file system''' | Note: To make things easyer you can run '''$sudo su''' in the Terminal you use so that all commands are run in admin mode and you do not need to add sudo befoare each command but '''make sure you are carefull with what you run in the terminal as admin mode will allow you to make changes to core file system''' | ||
| Line 73: | Line 77: | ||
* Replace <src> with desired directory | * Replace <src> with desired directory | ||
* Clone the sources twice: 1 for the mobile build and one for the automation build | * Clone the sources twice: 1 for the mobile build and one for the automation build | ||
* In order to clone the source code run the hg clone command | |||
hg clone http://hg.mozilla.org/mozilla-central/ <src> | hg clone http://hg.mozilla.org/mozilla-central/ <src> | ||
* Change "mozilla-central" to "mozilla-inbound", "mozilla-aurora", "mozilla-beta" or "mozilla-release" depending on which branch you want to run the tests on | |||
=== Update sources === | === Update sources === | ||
| Line 80: | Line 87: | ||
hg pull -u | hg pull -u | ||
== Install and configure Android SDK and NDK == | |||
* in order to run tests you will need the Android SDK (Software development kit) and the Android NDK (Native-code development kit) | |||
=== Install Geko Requirements === | |||
* Run in the terminal the command | |||
sudo apt-get build-dep firefox | |||
=== Install ia32-lib binaries === | |||
*These binaries are required in order to get the Android SDK to work on Linux x64 | |||
* Run in the terminal the command | |||
sudo apt-get install ia32-libs | |||
=== Install Android SDK === | |||
* Download the archive and unpack it | |||
wget http://dl.google.com/android/ndk/android-ndk-r5c-linux-x86.tar.bz2 | |||
tar -xjf android-ndk-r5c-linux-x86.tar.bz2 | |||
=== Install Android NDK === | |||
* Download the archive and unpack it | |||
wget http://dl.google.com/android/android-sdk_r15-linux.tgz | |||
tar -xzf android-sdk_r15-linux.tgz | |||
=== Update Android SDK === | |||
* run in the terminal from the home file | |||
./android-sdk-linux/tools/android update sdk -u | |||
./android-sdk-linux/tools/android update adb | |||
== Create .mozconfig files == | |||
* You have to create a .mozconfig file for each build | |||
* Use gedi or any other file editor to create the .mozconfig file in the root directory of the build | |||
* Update the filepaths in the config file to mirror the locations on your system | |||
=== Config file for Firefox Mobile === | |||
. $topsrcdir/browser/config/mozconfig | |||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-android | |||
mk_add_options MOZ_MAKE_FLAGS="-s -j10" | |||
ac_add_options --enable-debug | |||
ac_add_options --disable-optimize | |||
ac_add_options --with-ccache | |||
ac_add_options --disable-crashreporter | |||
# Android SDK/NDK | |||
ac_add_options --with-android-ndk="/dir/to/android-tools/android-ndk-r5c" | |||
ac_add_options --with-android-sdk="/dir/to/android-tools/android-sdk-macosx/platforms/android-14" | |||
ac_add_options --with-android-version=5 | |||
ac_add_options --with-android-tools="/dir/to/android-tools/android-sdk-macosx/tools" | |||
ac_add_options --with-android-toolchain="/dir/to/android-tools/android-ndk-r5c/toolchains/arm-linux-androideabi- 4.4.3/prebuilt/darwin-x86" | |||
ac_add_options --with-android-platform="/dir/to/android-tools/android-ndk-r5c/platforms/android-5/arch-arm" | |||
# Android options | |||
## Native UI: | |||
ac_add_options --enable-application=mobile/android | |||
ac_add_options --target=arm-linux-androideabi | |||
ac_add_options --with-endian=little | |||
=== Config file for the automation build === | |||
ac_add_options --enable-application=browser | |||
mk_add_options MOZ_OBJDIR=./objdir-firefox | |||
== Make the builds == | |||
=== Make the builds === | |||
* run command in the source directory for each build | |||
make -f client.mk | |||
=== Make the Android package === | |||
make package | |||
== Run Tests == | |||
=== Set up the MOZ_HOST_BIN environment variable === | |||
* The command can be added to .bashrc / .bash_profile for convinence or just run in the Terminal | |||
export MOZ_HOST_BIN=/ABSOLUTE/PATH/TO/FIREFOX/SOURCE/{objdir}/dist/bin | |||
=== Running all the tests === | |||
make mochitest-robotium | |||
=== Running a single test === | |||
* testLoad is the name of one of the tests | |||
TEST_PATH=testLoad make mochitest-robotium | |||