xctestrunner rules
中
logic_test_util.py
中
RunLogicTestOnSim方法新增 is_use_https=False
参数`
然后代码中, 指定架构打开模拟器
def RunLogicTestOnSim(sim_id,
test_bundle_path,
env_vars=None,
args=None,
tests_to_run=None,
is_use_https=False,
os_version=None,):
// 原实现
if is_use_https == "True":
sim_list = os.popen('xcrun simctl list')
content = sim_list.read()
simulator_id_arr = re.findall(r"iPhone 13 [(](.*?)[)] [(].*?[)]",content)
simulator_state_arr = re.findall(r"iPhone 13 [(].*?[)] [(](.*?)[)]",content)
print("simulator_id_arr:",simulator_id_arr)
print("simulator_state_arr:",simulator_state_arr)
simulator_id = simulator_id_arr[0] if len(simulator_id_arr) else ""
simulator_state = simulator_state_arr[0] if len(simulator_state_arr) else "unknow"
print("simulator_state:",simulator_state)
print("simulator_id",simulator_id)
print("sim:",sim_id)
if simulator_id == "":
simulator_id = sim_id
if simulator_state == "Shutdown":
os.system("xcrun simctl boot %s"%(simulator_id))
command = [
'xcrun', 'simctl', 'spawn','-a','x86_64', simulator_id,
xcode_info_util.GetXctestToolPath(ios_constants.SDK.IPHONESIMULATOR)]
if args:
command += args
if not tests_to_run:
tests_to_run_str = 'All'
else:
tests_to_run_str = ','.join(tests_to_run)
return_code = subprocess.Popen(
command + ['-XCTest', tests_to_run_str, test_bundle_path],
env=simctl_env_vars, stdout=sys.stdout, stderr=subprocess.STDOUT).communicate()[0]
if return_code != None:
return runner_exit_codes.EXITCODE.FAILED
return runner_exit_codes.EXITCODE.SUCCEEDED