Python, 猴跑者。如何在所有列表包中找到包名?
Python, MonkeyRunner. How to find a package name inside all list packages?
各位。
我在 AVD 上使用 python 和 monkeyrunner 测试应用程序,我正在编写一个脚本来测试是否安装了应用程序。
我的包名如下:
package_name = "package:me.abc.app"
我有一个安装在 AVD 上的包列表,使用这个命令:
C:\test>adb shell pm list packages
package:com.example.android.notepad
package:com.android.smoketest
package:com.example.android.softkeyb
package:me.abc.app
package:com.android.smoketest.tests
我想编写一个脚本,我可以将该列表保存在 array/list 中并执行如下操作:
If package_name is in list_of_packages
print "App is installed"
else
print "App is not installed"
我对如何将该列表保存在 Python 中的数组或列表中有疑问。
你可以这样做:
import subprocess
apps_proc = subprocess.Popen(["adb", "shell", "pm", "list", "packages"], shell=False, stdout=subprocess.PIPE)
list_of_packages = apps_proc.communicate()[0].decode.strip()
我没试过,但你可以玩最后一行来获得你需要的东西。
最后我创建了这个函数来保存列表包,你可以在里面搜索。
def search_package_in_avd(device):
command = device.shell("pm list packages -3")
splitedline=re.split(':|\r|\n',command)
if not splitedline:
return ""
else:
return splitedline
各位。 我在 AVD 上使用 python 和 monkeyrunner 测试应用程序,我正在编写一个脚本来测试是否安装了应用程序。
我的包名如下:
package_name = "package:me.abc.app"
我有一个安装在 AVD 上的包列表,使用这个命令:
C:\test>adb shell pm list packages
package:com.example.android.notepad
package:com.android.smoketest
package:com.example.android.softkeyb
package:me.abc.app
package:com.android.smoketest.tests
我想编写一个脚本,我可以将该列表保存在 array/list 中并执行如下操作:
If package_name is in list_of_packages
print "App is installed"
else
print "App is not installed"
我对如何将该列表保存在 Python 中的数组或列表中有疑问。
你可以这样做:
import subprocess
apps_proc = subprocess.Popen(["adb", "shell", "pm", "list", "packages"], shell=False, stdout=subprocess.PIPE)
list_of_packages = apps_proc.communicate()[0].decode.strip()
我没试过,但你可以玩最后一行来获得你需要的东西。
最后我创建了这个函数来保存列表包,你可以在里面搜索。
def search_package_in_avd(device):
command = device.shell("pm list packages -3")
splitedline=re.split(':|\r|\n',command)
if not splitedline:
return ""
else:
return splitedline