Этот артефакт предназначен для статьи: «Многократные тестирование приложений Android путем создания контекстов запуска деятельности».

Факс-это инструмент тестирования с несколькими входами для тестирования приложений Android, который создает контексты запуска активности для приложений и предлагает структуру тестирования с несколькими вводами.
Бумага PDF можно найти по адресу https://hanada31.github.io/pdf/icse20_fax.pdf
@InProceedings{jiwei:icse:2020,
author = {Jiwei Yan and Hao Liu and Linjie Pan and Jun Yan and Jian Zhang and Bin Liang},
title = {Multiple-Entry Testing of Android Applications by Constructing Activity Launching Contexts},
booktitle = {Proceedings of the 42nd International Conference on Software Engineering},
series = {ICSE '20},
year = {2020},
pages={457-468}}
Установите Java 1.8
Установите Ant 1.9.16
Установите Python 2.7
Факс требует библиотеки динамических ссылок Z3, а также библиотеки динамических ссылок для API Z3/Java.
Подготовьте среду Android (информация об установке Android SDK, https://developer.android.com/), версия инструментов Android SDK должна ниже 25.2.3.
Запустите «Java -version», «Python», «Ant -version», «Android Create Project», чтобы проверить, успешно ли эти инструменты.
Подготовьте устройство Android или эмулятор и подключите его к вам компьютеру. Поверните элемент настройки «Режим разработчика» и разрешите «USB -отладку».
Клонировать проект на свой компьютер.
Для быстрого запуска вы можете запустить: runfax.sh или runfax.bat
*Чтобы изменить время исследования FAX_EX, пожалуйста, обновите variable exploration_time в файле faxtool script run.py.
В нашей статье время исследования составляет один час (3600). Если вам нужна быстрая проверка, используйте значение по умолчанию в факсе (60).
Prep -Rocess установите тестирование APK в соответствии с [apk_input_dir] и получите результат в [apk_output_dir].
Python script/preRocess.py [apk_input_dir] [apk_output_dir]
Например, Python Script/preRocess.py apk apk_procasted
Затем действия будут выявлены, приложение будет предназначено, а затем установлено на устройстве.
Для приложений для входа в систему, вы можете первым входа в систему после установки, чтобы улучшить разведочное покрытие.
Генерация тестов Python Script/generatetestCases.py lib/fax0108.jar [apk_input_dir] [testcase_dir] [execute_info_dir] [max_number_of_path]
Например, Python Script/GeneratetestCases.py lib/fax0108.jar apk result_testgen executeinfo 10000
Получить результаты в папке [testcase_dir].
Факс -тестовой тест Python Script/StrangerActs.py [testcase_dir]
Например, Python Script/StrangerActs.py result_testgen result_launch
Получите результаты в папке [запуск_дир].
Обнаружение сбоев для запуска факса Python Script/findcrashes.py [testcase_dir]
Например, Python Script/findcrashes.py result_testgen result_launch
Исследование факса теста Python Script/fairAndroidexploer.py [usname_dir] [explore_dir] [testcase_dir] [apk_output_dir] [ea/all]
Установите EA, если вы хотите установить только EA в качестве записи исследования.
Установите все, если вы хотите установить все действия в качестве записи исследования.
Например, Python Script/fairandroidexploer.py result_launch result_explor
Получить результаты в папке [explore_dir].
Обнаружение сбоев для исследования факса Python Script/findcrashes.py [testcase_dir] [explore_dir]
Например, Python Script/findcrashes.py result_testgen result_explore
Рассчитайте результат покрытия python script/collectlogcat.py [testcase_dir] [explore_dir] [apk_output_dir]
Например, Python Script/collectlogcat.py result_testgen result_explore apk_procosed