一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“利用Python实现Monkey自动化测试”。
通过输入以下信息,进行moneky测试。
测试机(phone):可以通过adb devices命令获取。
测试包(packageName)
测试事件次数(monkeyClickCount)
ADB命令
monkey测试ADB命令
设置monkey测试ADB命令,这里已华为手机的相机APP进行monkey测试,执行1000次。
adb shell monkey -p com.huawei.camera -s 901 --ignore-timeouts --ignore-crashes --ignore-security-exceptions --kill-process-after-error --monitor-native-crashes -v-v-v 1000
杀死后台测试包程序ADB命令
将相机APP后台杀死数据。
adb shell am force-stop com.huawei.camera
脚本
配置用户输入测试信息
将输入的信息存放在config字典里并返回。
def inputConfig():
"""
:return:测试的配置信息。
"""
phone = input("请输入要测试的phone:")
packageName = input("请输入要测试的PackageName:")
monkeyClickCount = input("请输入Monkey的事件Count:")
config = {"phone": phone, "packageName": packageName, "monkeyClickCount": monkeyClickCount}
return config
杀死后台测试程序APP
def killAPP(config):
"""
杀死后台测试程序APP。
:return:Null
"""
killApp = "adb -s %s shell am force-stop %s" % (config.get("phone"), config.get("packageName"))
os.popen(killApp)
print("******已清理后台测试程序APP。")
配置monkey执行脚本
执行monkeyadb命令,存放测试log。
def fullMonkey(config):
"""
配置monkey脚本。
:param workconfig:
:return:
"""
killAPP(config)
# 配置monkey的adb命令。
print("******启动程序,准备执行Monkey测试...")
monkeyAdb = "adb -s %s shell monkey -p %s -s 901 --ignore-timeouts " \
"--ignore-crashes --ignore-security-exceptions --kill-process-after-error " \
"--monitor-native-crashes -v-v-v %s >%s\\log\\monkey.txt" \
% (config.get("phone"), config.get("packageName"), config.get("monkeyClickCount"), WORKSPACE)
os.popen(monkeyAdb)
运行代码
device_FJH5T18725001711 = inputConfig()
fullMonkey(device_FJH5T18725001711)