fix bug
This commit is contained in:
parent
f471662195
commit
231465d60a
|
@ -44,7 +44,8 @@ class Read_APP_UI_Devices_Info(object):
|
|||
devices_info.wdaLocalPorts = get_lambda(config.get('devices_info', 'wdaLocalPorts', fallback=''))
|
||||
devices_info.appActivitys = get_lambda(config.get('devices_info','appActivitys',fallback=''))
|
||||
devices_info.appPackages = get_lambda(config.get('devices_info','appPackages',fallback=''))
|
||||
devices_info.bundleIds = get_lambda(config.get('devices_info','bundleIds',fallback=''))
|
||||
devices_info.apps_dirs = get_lambda(config.get('devices_info','apps_dirs',fallback=''))
|
||||
devices_info.noSigns = get_lambda(config.get('devices_info', 'noSigns', fallback=''))
|
||||
devices_info.noSigns = get_lambda(config.get('devices_info','noSigns',fallback=''))
|
||||
devices_info.fullResets = get_lambda(config.get('devices_info', 'fullResets', fallback=''))
|
||||
return devices_info.get_devices_info()
|
|
@ -45,11 +45,17 @@ systemports = 8200 ||
|
|||
# ios并行测试使用,端口建议从5400开始,不用可注释,并行设备都在同一个appium server上时确保每个设备唯一
|
||||
# wdaLocalPorts = 5400||
|
||||
|
||||
# appActivitys、appPackages和apps_dirs(安装包路径)两者选一,不选的放空,多设备仅需填写一个
|
||||
# 仅支持Android:appActivitys、appPackages和apps_dirs(安装包路径)两者选一,不选的放空,多设备仅需填写一个
|
||||
# 查看当前应用的的appActivity、appPackage的命令:adb shell dumpsys window | findstr mCurrentFocus
|
||||
# 单台设备串行测试多个app,使用"##"分割,如appPackages = com.moji.mjweather##com.moji.debug.mjweather ||
|
||||
appPackages = com.moji.mjweather ||
|
||||
appActivitys = com.moji.mjweather.MainActivity ||
|
||||
|
||||
# 仅支持iOS:bundleIds和apps_dirs(安装包路径)两者选一,不选的放空,多设备仅需填写一个
|
||||
# 查看设备应用bundleId的命令:ideviceinstaller -l
|
||||
# 单台设备串行测试多个app,使用"##"分割
|
||||
bundleIds =
|
||||
|
||||
# app安装包存放的路径,将会遍历目录下所有app包进行串行测试
|
||||
# 请确保安装包放置在packages目录下,填写相对路径
|
||||
apps_dirs =
|
||||
|
|
|
@ -42,12 +42,19 @@ systemports = 8200 ||
|
|||
# ios并行测试使用,端口建议从5400开始,不用可注释,并行设备都在同一个appium server上时确保每个设备唯一
|
||||
# wdaLocalPorts = 5400||
|
||||
|
||||
# appActivitys、appPackages和apps_dirs(安装包路径)两者选一,不选的放空,多设备仅需填写一个
|
||||
# 仅支持Android:appActivitys、appPackages和apps_dirs(安装包路径)两者选一,不选的放空,多设备仅需填写一个
|
||||
# 查看当前应用的的appActivity、appPackage的命令:adb shell dumpsys window | findstr mCurrentFocus
|
||||
# 单台设备串行测试多个app,使用"##"分割,如appPackages = com.moji.mjweather##com.moji.debug.mjweather ||
|
||||
appPackages = com.moji.mjweather ||
|
||||
appActivitys = com.moji.mjweather.MainActivity ||
|
||||
|
||||
# 仅支持iOS:bundleIds和apps_dirs(安装包路径)两者选一,不选的放空,多设备仅需填写一个
|
||||
# 查看设备应用bundleId的命令:ideviceinstaller -l
|
||||
# 单台设备串行测试多个app,使用"##"分割
|
||||
bundleIds =
|
||||
|
||||
# app安装包存放的路径,将会遍历目录下所有app包进行串行测试
|
||||
# 请确保安装包放置在packages目录下,填写相对路径
|
||||
apps_dirs =
|
||||
|
||||
# 是否跳过检测和使用debug key对app进行签名,该参数配合apps_dirs有值时使用。仅对UiAutomator有效,默认为false
|
||||
|
@ -56,4 +63,4 @@ noSigns = True ||
|
|||
# android:启动session前及结束测试后停止app、清除app数据、卸载app
|
||||
# ios:在开始测试前及结束测试后卸载app、销毁模拟器
|
||||
# 当为True时,apps_dirs必须提供
|
||||
fullResets = False ||
|
||||
fullResets = True ||
|
|
@ -20,6 +20,7 @@ class APP_UI_Devices_Info:
|
|||
self.wdaLocalPorts = []
|
||||
self.appPackages = []
|
||||
self.appActivitys = []
|
||||
self.bundleIds = []
|
||||
self.apps_dirs = []
|
||||
self.noSigns=[]
|
||||
self.fullResets=[]
|
||||
|
@ -37,20 +38,25 @@ class APP_UI_Devices_Info:
|
|||
if self.system_auth_alert_labels:
|
||||
device_info.update({'system_auth_alert_label': self.system_auth_alert_labels[i]})
|
||||
# 构建desired_capabilities
|
||||
a_device_capabilities_num=0
|
||||
a_device_appActivitys=[]
|
||||
a_device_appPackages=[]
|
||||
a_device_apps=[]
|
||||
if self.appActivitys and self.appPackages:
|
||||
a_device_appActivitys=self.appActivitys[i].split('&&')
|
||||
a_device_appPackages=self.appPackages[i].split('&&')
|
||||
a_device_capabilities_num=len(a_device_appActivitys)
|
||||
if self.apps_dirs:
|
||||
a_device_capabilities_num=len(self.apps_dirs)
|
||||
paths=os.walk(self.apps_dirs[i].strip())
|
||||
for dirPath,dirName,fileNames in paths:
|
||||
a_device_capabilities_num = 0
|
||||
a_device_appActivitys = []
|
||||
a_device_appPackages = []
|
||||
a_device_bundleIds = []
|
||||
a_device_apps = []
|
||||
if len(self.appActivitys) and len(self.appPackages):
|
||||
a_device_appActivitys = self.appActivitys[i].split('&&')
|
||||
a_device_appPackages = self.appPackages[i].split('&&')
|
||||
a_device_capabilities_num = len(a_device_appActivitys)
|
||||
if len(self.bundleIds):
|
||||
a_device_bundleIds = self.bundleIds[i].split('&&')
|
||||
a_device_capabilities_num = len(a_device_bundleIds)
|
||||
if len(self.apps_dirs):
|
||||
a_device_capabilities_num = len(self.apps_dirs)
|
||||
paths = os.walk(self.apps_dirs[i].strip())
|
||||
for dirPath, dirName, fileNames in paths:
|
||||
for fileName in fileNames:
|
||||
a_device_apps.append(('http://%s:%s/%s/%s')%(local_ip,httpserver_port,self.apps_dirs[i].strip(),fileName))
|
||||
a_device_apps.append(
|
||||
('http://%s:%s/%s/%s') % (local_ip, httpserver_port, self.apps_dirs[i].strip(), fileName))
|
||||
a_devices_desired_capabilities=[]
|
||||
for j in range(a_device_capabilities_num):
|
||||
desired_capabilities={}
|
||||
|
@ -65,13 +71,12 @@ class APP_UI_Devices_Info:
|
|||
desired_capabilities.update({'systemport': self.systemports[i].strip()})
|
||||
if len(self.wdaLocalPorts):
|
||||
desired_capabilities.update({'wdaLocalPort': self.wdaLocalPorts[i].strip()})
|
||||
if self.appActivitys and self.appPackages:
|
||||
if len(self.appActivitys) and len(self.appPackages):
|
||||
desired_capabilities.update({'appActivity': a_device_appActivitys[j].strip()})
|
||||
desired_capabilities.update({'appPackage': a_device_appPackages[j].strip()})
|
||||
else:
|
||||
desired_capabilities.update({'appActivity': ''})
|
||||
desired_capabilities.update({'appPackage': ''})
|
||||
if self.apps_dirs:
|
||||
if len(self.bundleIds):
|
||||
desired_capabilities.update({'bundleId':a_device_bundleIds[j].strip()})
|
||||
if len(self.apps_dirs):
|
||||
desired_capabilities.update({'app': a_device_apps[j]})
|
||||
if len(self.noSigns):
|
||||
noSign=False
|
||||
|
|
|
@ -44,10 +44,13 @@ def start_app_device_test(index,device_info,keyword,dir,markexpr,capture,reruns,
|
|||
for desired_capabilities in a_devices_desired_capabilities:
|
||||
FileTool.writeObjectIntoFile(desired_capabilities,
|
||||
'config/app_ui_tmp/' + str(os.getpid()) + '_current_desired_capabilities')
|
||||
if desired_capabilities['appPackage']:
|
||||
desired_capabilities_desc = None
|
||||
if 'appPackage' in desired_capabilities.keys():
|
||||
desired_capabilities_desc = desired_capabilities['appPackage']
|
||||
else:
|
||||
desired_capabilities_desc=desired_capabilities['app'].split('/')[-1]
|
||||
elif 'app' in desired_capabilities.keys():
|
||||
desired_capabilities_desc = desired_capabilities['app'].split('/')[-1]
|
||||
elif 'bundleId' in desired_capabilities.keys():
|
||||
desired_capabilities_desc = desired_capabilities['bundleId']
|
||||
print('当前设备开始测试的desired_capabilities为:%s' % desired_capabilities)
|
||||
# 执行pytest前的参数准备
|
||||
pytest_execute_params = ['-c', 'config/pytest.ini', '-v', '--alluredir',
|
||||
|
|
Loading…
Reference in New Issue