You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have tested Q-Testing on a dataset containing more than 100 apps. It turns out Q-Testing behaves abnormally on a majority of them. I tested Q-Testing with all the required settings. I ran it on CentOS 8 with 8 Android Emulators (Android 7.0) running simultaneously. I set the time limit as 3600s. I summarized some common errors as follows:
UNKNOWN uiautomator dump error (occurs in 49 apps)
This error is the most common one. Q-Testing usually works fine for a random duration (10mins, 20mins, 30mins, etc). Then it will show the UNKNOWN uiautomator dump error all the way to the end. I attach part of the logs as follows:
========episode 1_8========
the chosen action is restarting app
get stuck in an error state that cannot launch main target activity, now release current error app first.
UNKNOWN uiautomator dump error
UNKNOWN uiautomator dump error
the current states is not in q_table and the current activity is UNKNOWN
the jumped state is UNKNOWN
========episode 1_9========
the chosen action is restarting app
get stuck in an error state that cannot launch main target activity, now release current error app first.
UNKNOWN uiautomator dump error
UNKNOWN uiautomator dump error
the current states is not in q_table and the current activity is UNKNOWN
the jumped state is UNKNOWN
==============episode 2_=============
UNKNOWN uiautomator dump error
UNKNOWN uiautomator dump error
========episode 2_0========
the chosen action is restarting app
get stuck in an error state that cannot launch main target activity, now release current error app first.
UNKNOWN uiautomator dump error
UNKNOWN uiautomator dump error
the current states is not in q_table and the current activity is UNKNOWN
the jumped state is UNKNOWN
could not install smartsocket listener: Address already in use (occurs in 8 apps)
When this error occurs, Q-Testing will usually work for a while but then quickly shut down. A sample log is shown below:
==============episode 12_=============
info is mCurrentFocus=Window{d6349f7 u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :10
========episode 12_0========
the state has been visited before
the selected action string is 14@click(resource-id='de.baumann.browser:id/floatButton_more', instance='0'):android.widget.ImageButton@""
info is mCurrentFocus=Window{d6349f7 u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :11
the updated action is 14@click(* daemon not running; starting now at tcp:5037
ADB server didn't ACK
Full server startup log: /tmp/adb.31172.log
Server had pid: 1352849
--- adb starting (pid 1352849) ---
adb I 01-07 00:24:27 1352849 1352849 main.cpp:60] Android Debug Bridge version 1.0.41
adb I 01-07 00:24:27 1352849 1352849 main.cpp:60] Version 29.0.6-6198805
adb I 01-07 00:24:27 1352849 1352849 main.cpp:60] Installed as /xxx/SDK/android_sdk_linux/platform-tools/adb
adb I 01-07 00:24:27 1352849 1352849 main.cpp:60]
adb I 01-07 00:24:27 1352852 1352852 adb.cpp:110] emulator-5576: already offline
adb F 01-07 00:24:27 1352794 1352794 main.cpp:144] could not install *smartsocket* listener: Address already in use
adb F 01-07 00:24:27 1352795 1352795 main.cpp:144] could not install *smartsocket* listener: Address already in use
adb F 01-07 00:24:27 1352796 1352796 main.cpp:144] could not install *smartsocket* listener: Address already in use
adb F 01-07 00:24:27 1352800 1352800 main.cpp:144] could not install *smartsocket* listener: Address already in use
adb F 01-07 00:24:28 1352792 1352792 main.cpp:144] could not install *smartsocket* listener: Address already in use
adb F 01-07 00:24:28 1352847 1352847 main.cpp:144] could not install *smartsocket* listener: Address already in use
adb F 01-07 00:24:28 1352848 1352848 main.cpp:144] could not install *smartsocket* listener: Address already in use
adb F 01-07 00:24:28 1352849 1352849 main.cpp:144] could not install *smartsocket* listener: Address already in use
* failed to start daemon
error: cannot connect to daemon
resource-id='de.baumann.browser:id/floatButton_more', instance='0'):android.widget.ImageButton@""
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_1========
the state has been visited before
the selected action string is 14@click(resource-id='de.baumann.browser:id/floatButton_more', instance='0'):android.widget.ImageButton@""
info is mCurrentFocus=Window{d6349f7 u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :11
q-current is assigned with 0
the updated action is 14@click(resource-id='de.baumann.browser:id/floatButton_more', instance='0'):android.widget.ImageButton@""
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_2========
the state has been visited before
the selected action string is 16@back
info is mCurrentFocus=Window{d758d2f u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :32
q-current is assigned with 0
the updated action is 16@back
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_3========
the state has been visited before
the selected action string is 4@back
info is mCurrentFocus=Window{b18fec9 u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :4
q-current is assigned with 0
the updated action is 4@back
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_4========
the state has been visited before
the selected action string is 3@menu
info is mCurrentFocus=Window{b18fec9 u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :4
q-current is assigned with 0
the updated action is 3@menu
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_5========
the state has been visited before
the selected action string is 2@click(className='android.widget.Button',instance='1'):android.widget.Button@"OK"
view_string is: android.widget.Button@"OK"
info is mCurrentFocus=Window{d758d2f u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :31
the updated action is 2@click(className='android.widget.Button',instance='1'):android.widget.Button@"OK"
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_6========
the state has been visited before
the selected action string is 3@click(content-desc='View code'):android.widget.Button@""
view_string is: android.widget.Button@""
the executation cmd is: timeout 2s python /xxx/Q-testing/q-testing-wgx-publish-pyinstaller/events/click_by_content_desc.py emulator-5570 'View code'
info is mCurrentFocus=Window{d758d2f u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :31
q-current is assigned with 0
the updated action is 3@click(content-desc='View code'):android.widget.Button@""
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_7========
the state has been visited before
the selected action string is 2@click(content-desc='…'):android.widget.Button@""
view_string is: android.widget.Button@""
the executation cmd is: timeout 2s python /xxx/tool/Q-testing/q-testing-wgx-publish-pyinstaller/events/click_by_content_desc.py emulator-5570 '…'
info is mCurrentFocus=Window{d758d2f u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :31
q-current is assigned with 0
the updated action is 2@click(content-desc='…'):android.widget.Button@""
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_8========
the state has been visited before
the selected action string is 6@menu
info is mCurrentFocus=Window{29be85 u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :10
q-current is assigned with 0
the updated action is 6@menu
the jumped state is de.baumann.browser.activity.BrowserActivity
========episode 12_9========
the state has been visited before
the selected action string is 16@back
info is mCurrentFocus=Window{d758d2f u0 de.baumann.browser/de.baumann.browser.activity.BrowserActivity}
current_activity_name is: de.baumann.browser.activity.BrowserActivity
current existing state id :31
the updated action is 16@back
the jumped state is de.baumann.browser.activity.BrowserActivity
==============episode 13_=============
info is error: protocol fault (couldn't read status): Success
Traceback (most recent call last):
File "main.py", line 189, in <module>
File "main.py", line 137, in main
File "qlearning_final_coverage_multi.py", line 959, in qlearning_loop
File "qlearning_final_coverage_multi.py", line 283, in get_current_state_retry
File "qlearning_final_coverage_multi.py", line 410, in get_current_state
ValueError: substring not found
Failed to execute script main
get stuck in an error state that cannot launch main target activity, now release current error app first. (occurs in 22 apps)
A typical error log is:
========episode 0_1========
the chosen action is restarting app
get stuck in an error state that cannot launch main target activity, now release current error app first.
info is mCurrentFocus=Window{4a7e90f u0 com.android.packageinstaller/com.android.packageinstaller.permission.ui.GrantPermissionsActivity}
current_activity_name is: com.android.packageinstaller.permission.ui.GrantPermissionsActivity
the current states is not in q_table and the current activity is com.android.packageinstaller.permission.ui.GrantPermissionsActivity
the jumped state is com.android.packageinstaller.permission.ui.GrantPermissionsActivity
I know this error occurs because Q-Testing is not able to grant permissions when they are required by an app under test. Q-Testing requires us to manually grant permissions before testing. However, when there are a large amount of apps to be tested, it is not possible to manually grant permissions one by one. Can Q-Testing implement this function in its code?
Error: Activity class {com.duckduckgo.mobile.android/noactivityname} does not exist. (occurs in 5 apps)
Q-Testing fails to launch 5 apps. Maybe the launching function has some bugs.
Could you fix these issues or are there any workarounds we can adopt? Thanks!
The text was updated successfully, but these errors were encountered:
I have tested Q-Testing on a dataset containing more than 100 apps. It turns out Q-Testing behaves abnormally on a majority of them. I tested Q-Testing with all the required settings. I ran it on CentOS 8 with 8 Android Emulators (Android 7.0) running simultaneously. I set the time limit as 3600s. I summarized some common errors as follows:
This error is the most common one. Q-Testing usually works fine for a random duration (10mins, 20mins, 30mins, etc). Then it will show the
UNKNOWN uiautomator dump error
all the way to the end. I attach part of the logs as follows:When this error occurs, Q-Testing will usually work for a while but then quickly shut down. A sample log is shown below:
A typical error log is:
I know this error occurs because Q-Testing is not able to grant permissions when they are required by an app under test. Q-Testing requires us to manually grant permissions before testing. However, when there are a large amount of apps to be tested, it is not possible to manually grant permissions one by one. Can Q-Testing implement this function in its code?
Q-Testing fails to launch 5 apps. Maybe the launching function has some bugs.
Could you fix these issues or are there any workarounds we can adopt? Thanks!
The text was updated successfully, but these errors were encountered: