FillTheForm

FillTheForm

FillTheForm is an Android app that that helps you to develop and test your apps faster.

Now you can fill out every EditText with just a long press!

FillTheForm Speed Test

Requirements

  • Android 4.4+
  • FillTheFormSample app or your Android app with EditText elements that have id-s

Usage

  • Import this project to Android Studio
  • Install FillTheFormSample app
  • Install FillTheForm app
  • Open FillTheForm app. Enable all required permissions and then press 'Load configuration'
  • Press the button 'com.hrs.filltheformsample'
  • Long press one of the EditText fields in the FillTheFormSample app

Create configuration file for your Android app

Single item in the configuration file should have the following format:

<edit_text_id>value</edit_text_id>

Items can be grouped in profiles:

<profile name="Profile name">
    ...
    <edit_text_id>value</edit_text_id>
    <other_edit_text_id>other_value</other_edit_text_id>
    ...
</profile>

This is the configuration file for the FillTheFormSample app:

<fillTheFormConfig>
    <packages>
        <package>com.hrs.filltheformsample</package>
        <package>com.hrs.filltheformsampletwo</package>
    </packages>
    <profiles>
        <profile name="John Doe Profile">
            <first_name>John</first_name>
            <last_name>Doe</last_name>
            <email>john.doe@johndoe.com</email>
            <email>doe@johndoe.com</email>
            <city label="The City by the Bay">San Francisco</city>
            <state>California</state>
            <country>United States of America</country>
            <country>USA</country>
            <phone>(415) 321-654</phone>
            <zip_code>CA 94129</zip_code>
            <comment>Welcome to San Francisco!</comment>
            <device_model>I am using &device_model; from &device_manufacturer;</device_model>
            <android_version>My phone has API Level &device_android_version;</android_version>
            <device_ip_address>IP address of my phone is &device_ip_address;</device_ip_address>
        </profile>
        <profile name="Max Mustermann Profile">
            <first_name>Max</first_name>
            <last_name>Mustermann</last_name>
            <email>max.mustermann@mustermann.de</email>
            <city>Köln</city>
            <city>Düsseldorf</city>
            <state>NRW</state>
            <country>Germany</country>
            <country>Deutschland</country>
            <phone>+491234879625</phone>
            <zip_code>50667</zip_code>
            <comment>Viele Grüße aus NRW!</comment>
            <device_model>Ich benutze ein &device_model; von &device_manufacturer;</device_model>
            <android_version>&device_model; API ist &device_android_version;</android_version>
            <device_ip_address>&device_model; IP Adresse ist &device_ip_address;</device_ip_address>
        </profile>
        <profile name="Random Test Profile">
            <first_name>random_first_name</first_name>
            <first_name>My first name name is &random_first_name;</first_name>
            <last_name>random_last_name</last_name>
            <last_name>My last name name is &random_last_name;</last_name>
            <email>random_email</email>
            <email>&random_email_local_part;@xyz.com</email>
            <city label="Just random city">random_city</city>
            <state>random_state</state>
            <country>random_country</country>
            <phone>random_phone</phone>
            <zip_code>random_zip_code</zip_code>
            <comment>random_text</comment>
            <comment>random_paragraph</comment>
            <device_model>&random_first_name; has &device_model; from &device_manufacturer;</device_model>
            <android_version>&device_model; API is &device_android_version;</android_version>
            <device_ip_address>&device_model; IP is &device_ip_address;</device_ip_address>
        </profile>
        <profile name="Random Test Profile 2">
            <first_name>
                <value>random_first_name</value>
                <remember_last_entry_for>
                    <id>email</id>
                    <id>state</id>
                    <id>phone</id>
                    <id>device_model</id>
                    <id>device_ip_address</id>
                    <id>comment</id>
                </remember_last_entry_for>
            </first_name>
            <last_name>
                <value>random_last_name</value>
                <remember_last_entry_for>
                    <id>city</id>
                    <id>country</id>
                    <id>zip_code</id>
                    <id>android_version</id>
                    <id>comment</id>
                </remember_last_entry_for>
            </last_name>
        </profile>
    </profiles>
    <!-- No profile -->
    <first_name>Ivan</first_name>
    <last_name>Jukic</last_name>
    <country>Croatia</country>
    <city label="I bet you have never been there">Imotski</city>
    <city label="北京 (Beijing)">北京</city>
    <device_model>&device_manufacturer; &device_model;</device_model>
    <android_version>API Level &device_android_version;</android_version>
    <device_ip_address>Device IP is &device_ip_address;</device_ip_address>
    <android_version>device_android_version</android_version>
    <device_ip_address>device_ip_address</device_ip_address>
</fillTheFormConfig>

License

FillTheForm is available under the Apache 2 license. See the LICENSE file for more info.