Python,MonkeyRunner.如何在所有列表包中查找包名称



所有人。我正在使用python和monkeyrunner在AVD上测试应用程序,我正在编写一个脚本,可以测试是否安装了应用程序。

我有一个包裹名称,比如:

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

我想写一个脚本,在那里我可以把列表保存在数组/列表中,并做这样的事情:

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

最新更新