สิ่งประดิษฐ์นี้มีไว้สำหรับกระดาษ: "การทดสอบหลายรายการของแอปพลิเคชัน Android โดยการสร้างกิจกรรมการเปิดตัวบริบท"

แฟกซ์เป็นเครื่องมือทดสอบหลายรายการสำหรับการทดสอบแอพพลิเคชั่น Android ซึ่งสร้างกิจกรรมที่เปิดตัวบริบทสำหรับแอพและเสนอกรอบการทดสอบหลายรายการ
PAPER 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
ติดตั้งมด 1.9.16
ติดตั้ง Python 2.7
แฟกซ์ต้องใช้ไลบรารี Z3 Dynamic Link รวมถึงไลบรารีลิงก์แบบไดนามิกสำหรับ Z3/Java API
เตรียมสภาพแวดล้อม Android (ข้อมูลการติดตั้ง Android SDK, https://developer.android.com/), เวอร์ชันของเครื่องมือ Android SDK ควรต่ำกว่า 25.2.3
เรียกใช้ "Java -Version", "Python", "Ant -Version", "Android สร้างโครงการ" เพื่อตรวจสอบว่าเครื่องมือเหล่านี้ได้รับการกำหนดค่าสำเร็จหรือไม่
เตรียมอุปกรณ์ Android หรือ Emulator และเชื่อมต่อกับคอมพิวเตอร์ของคุณ เปิดรายการการตั้งค่า "โหมดนักพัฒนาซอฟต์แวร์" และอนุญาต "USB debugging"
โคลนโครงการไปยังคอมพิวเตอร์ของคุณ
สำหรับการเริ่มต้นอย่างรวดเร็วคุณสามารถเรียกใช้: runfax.sh หรือ runfax.bat
*หากต้องการแก้ไขเวลาสำรวจของ FAX_EX โปรดอัปเดตตัวแปร Exploration_time ในไฟล์ faxtool script run.py
ในบทความของเราเวลาสำรวจคือหนึ่งชั่วโมง (3600) หากคุณต้องการการตรวจสอบอย่างรวดเร็วให้ใช้ค่าเริ่มต้นในแฟกซ์ (60)
ประมวลผลล่วงหน้าใส่ APK ภายใต้การทดสอบภายใต้ [APK_INPUT_DIR] และรับผลลัพธ์ใน [APK_OUTPUT_DIR]
python script/prerocess.py [apk_input_dir] [apk_output_dir]
เช่น python script/prerocess.py apk apk_processed
จากนั้นกิจกรรมจะถูกเปิดเผยแอปจะถูกใช้งานแล้วติดตั้งบนอุปกรณ์
สำหรับแอพที่จำเป็นในการเข้าสู่ระบบคุณสามารถเข้าสู่ระบบได้ก่อนหลังจากการติดตั้งเพื่อปรับปรุงความครอบคลุมการสำรวจ
การทดสอบการสร้าง 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]
FAX LANKING SCRIPT PYTHON SCRIPT/LAANKACTS.PY [TESTCASE_DIR] [LAANK_DIR]
เช่น python script/launchacts.py result_testgen result_launch
รับผลลัพธ์ในโฟลเดอร์ [launch_dir]
ตรวจจับความผิดพลาดสำหรับแฟกซ์ที่เปิดตัว Python Script/FindCrashes.py [testcase_dir] [launch_dir]
เช่น Script Python/findcrashes.py result_testgen result_launch
การทดสอบแฟกซ์การสำรวจ Python Script/fairandroidexploer.py [launch_dir] [explore_dir] [testcase_dir] [apk_output_dir] [ea/all]
ตั้งค่า EA หากคุณต้องการตั้งค่า EA เป็นรายการสำรวจเท่านั้น
ตั้งค่าทั้งหมดหากคุณต้องการตั้งกิจกรรมทั้งหมดเป็นรายการสำรวจ
เช่นสคริปต์ Python/fairandroidexploer.py result_launch result_explore result_testgen apk_processed ทั้งหมด
รับผลลัพธ์ในโฟลเดอร์ [Explore_dir]
ตรวจจับความผิดพลาดสำหรับการสำรวจแฟกซ์ Python Script/findcrashes.py [testcase_dir] [explore_dir]
เช่นสคริปต์ Python/findcrashes.py result_testgen result_explore
คำนวณผลการครอบคลุมสคริปต์ Python/collectlogcat.py [testcase_dir] [explore_dir] [apk_output_dir]
เช่นสคริปต์ Python/collectlogcat.py result_testgen result_explore apk_processed