Best Python code snippet using uiautomator
build_apis_db.py
Source:build_apis_db.py
...34 :param framework_folder: publicè·¯å¾35 """36 table_name = db_names['SET_A']37 # å
æ¸
é¤å·²æçæ¬çapi38 api_dbs.delete_api_by_sdk_version(table_name, sdk_version)39 framework_dump_header_apis = api_utils.frame_work_dump_apis(sdk_version, framework_folder)40 # [{'class':'','methods':'','type':''},{},{}]41 return api_dbs.insert_apis(table_name, framework_dump_header_apis)42def rebuild_framework_header_api(sdk_version, framework_folder):43 """44 public-framework-.h-apis45 SET_B46 """47 table_name = db_names['SET_B']48 api_dbs.delete_api_by_sdk_version(table_name, sdk_version)49 framework_header_apis = api_utils.framework_header_apis(sdk_version, framework_folder)50 # [{'class':'','methods':'','type':''},{},{}]51 return api_dbs.insert_apis(table_name, framework_header_apis)52def rebuild_document_api(sdk_version, docset):53 """54 document api55 SET_C56 """57 table_name = db_names['SET_C']58 api_dbs.delete_api_by_sdk_version(table_name, sdk_version)59 document_apis = api_utils.document_apis(sdk_version, docset)60 return api_dbs.insert_apis(table_name, document_apis)61def rebuild_private_dump_framework_api(sdk_version, framework_folder):62 """63 private_framework_dump_apis64 SET_E65 """66 table_name = db_names['SET_E']67 api_dbs.delete_api_by_sdk_version(table_name, sdk_version)68 private_framework_dump_apis = api_utils.deduplication_api_list(api_utils.private_framework_dump_apis(sdk_version, framework_folder))69 return api_dbs.insert_apis(table_name, private_framework_dump_apis)70# ç»åè·åææçç§æAPIåº71def rebuild_private_apis(sdk_version):72 table_name_D = db_names['SET_D'] # æç»çç§æAPI73 table_name_F = db_names['SET_F'] # public ä¸è¿æ»¤åºæ¥çç§æAPI74 # flush table datas75 api_dbs.delete_api_by_sdk_version(table_name_D, sdk_version)76 api_dbs.delete_api_by_sdk_version(table_name_F, sdk_version)77 # publicä¸ç§æAPI78 framework_dump_private_apis = []79 # publicä¸ææAPI80 framework_dump_apis = api_dbs.get_publick_framework_dump_apis(sdk_version)81 public_count = 082 private_count = 083 __count = 084 for api in framework_dump_apis:85 # print("æ£å¨ä»å
¬æAPIåºä¸æåç§æAPI-->%s"%api)86 # æ¹æ³ä»¥ '_'ä¸å线å¼å§ç´æ¥å®ä¹ä¸ºç§æAPI87 if api['api_name'] and api['api_name'][0:1] == "_":88 __count += 189 framework_dump_private_apis.append(api)90 continue...
find_mac_sdk.py
Source:find_mac_sdk.py
1#!/usr/bin/env python2# coding: utf-83# Copyright 2012 The Chromium Authors. All rights reserved.4# Use of this source code is governed by a BSD-style license that can be5# found in the LICENSE file.6from __future__ import print_function7import argparse8import distutils.version9import os10import re11import subprocess12import sys13import textwrap14def _AsVersion(string):15 return distutils.version.StrictVersion(string)16def _RunXCRun(args, sdk=None):17 xcrun_args = ['xcrun']18 if sdk is not None:19 xcrun_args.extend(['--sdk', sdk])20 xcrun_args.extend(args)21 return subprocess.check_output(xcrun_args).decode('utf-8').rstrip()22def _SDKPath(sdk=None):23 return _RunXCRun(['--show-sdk-path'], sdk)24def _SDKVersion(sdk=None):25 return _AsVersion(_RunXCRun(['--show-sdk-version'], sdk))26class DidNotMeetCriteria(Exception):27 pass28def _FindPlatformSDKWithMinimumVersion(platform, minimum_sdk_version_str):29 minimum_sdk_version = _AsVersion(minimum_sdk_version_str)30 # Try the SDKs that Xcode knows about.31 xcodebuild_showsdks_subprocess = subprocess.Popen(32 ['xcodebuild', '-showsdks'],33 stdout=subprocess.PIPE,34 stderr=open(os.devnull, 'w'))35 xcodebuild_showsdks_output = (36 xcodebuild_showsdks_subprocess.communicate()[0].decode('utf-8'))37 if xcodebuild_showsdks_subprocess.returncode == 0:38 # Collect strings instead of version objects to preserve the precise39 # format used to identify each SDK.40 sdk_version_strs = []41 for line in xcodebuild_showsdks_output.splitlines():42 match = re.match('[ \t].+[ \t]-sdk ' + re.escape(platform) + '(.+)$',43 line)44 if match:45 sdk_version_str = match.group(1)46 if _AsVersion(sdk_version_str) >= minimum_sdk_version:47 sdk_version_strs.append(sdk_version_str)48 if len(sdk_version_strs) == 0:49 raise DidNotMeetCriteria({'minimum': minimum_sdk_version_str,50 'platform': platform})51 sdk_version_str = sorted(sdk_version_strs, key=_AsVersion)[0]52 sdk_path = _SDKPath(platform + sdk_version_str)53 sdk_version = _AsVersion(sdk_version_str)54 else:55 # Xcode may not be installed. If the command-line tools are installed, use56 # the systemâs default SDK if it meets the requirements.57 sdk_path = _SDKPath()58 sdk_version = _SDKVersion()59 if sdk_version < minimum_sdk_version:60 raise DidNotMeetCriteria({'minimum': minimum_sdk_version_str,61 'platform': platform,62 'sdk_path': sdk_path,63 'sdk_version': str(sdk_version)})64 return (sdk_version, sdk_path)65def main(args):66 parser = argparse.ArgumentParser(67 description='Find an appropriate platform SDK',68 epilog='Two lines will be written to standard output: the version of the '69 'selected SDK, and its path.')70 parser.add_argument('--developer-dir',71 help='path to Xcode or Command Line Tools')72 parser.add_argument('--exact', help='an exact SDK version to find')73 parser.add_argument('--minimum', help='the minimum SDK version to find')74 parser.add_argument('--path', help='a known SDK path to validate')75 parser.add_argument('--platform',76 default='macosx',77 help='the platform to target')78 parsed = parser.parse_args(args)79 if parsed.developer_dir is not None:80 os.environ['DEVELOPER_DIR'] = parsed.developer_dir81 if (os.environ.get('DEVELOPER_DIR') is None and82 subprocess.call(['xcode-select', '--print-path'],83 stdout=open(os.devnull, 'w'),84 stderr=open(os.devnull, 'w')) != 0):85 # This is friendlier than letting the first invocation of xcrun or86 # xcodebuild show the UI prompting to install developer tools at an87 # inopportune time.88 hint = 'Install Xcode and run "sudo xcodebuild -license"'89 if parsed.platform == 'macosx':90 hint += ', or install Command Line Tools with "xcode-select --install"'91 hint += ('. If necessary, run "sudo xcode-select --switch" to select an '92 'active developer tools installation.')93 hint = '\n'.join(textwrap.wrap(hint, 80))94 print(os.path.basename(sys.argv[0]) +95 ': No developer tools found.\n' +96 hint,97 file=sys.stderr)98 return 199 if parsed.path is not None:100 # _SDKVersion() doesnât work with a relative pathname argument or one thatâs101 # a symbolic link. Such paths are suitable for other purposes, like âclang102 # -isysrootâ, so use an absolute non-symbolic link path for _SDKVersion(),103 # but preserve the userâs path in sdk_path.104 sdk_version = _SDKVersion(os.path.realpath(parsed.path))105 sdk_path = parsed.path106 elif parsed.exact is None and parsed.minimum is None:107 # Use the platformâs default SDK.108 sdk_version = _SDKVersion(parsed.platform)109 sdk_path = _SDKPath(parsed.platform)110 elif parsed.exact is not None:111 sdk_version = _SDKVersion(parsed.platform + parsed.exact)112 sdk_path = _SDKPath(parsed.platform + parsed.exact)113 else:114 (sdk_version,115 sdk_path) = _FindPlatformSDKWithMinimumVersion(parsed.platform,116 parsed.minimum)117 # These checks may be redundant depending on how the SDK was chosen.118 if ((parsed.exact is not None and sdk_version != _AsVersion(parsed.exact)) or119 (parsed.minimum is not None and120 sdk_version < _AsVersion(parsed.minimum))):121 raise DidNotMeetCriteria({'developer_dir': parsed.developer_dir,122 'exact': parsed.exact,123 'minimum': parsed.minimum,124 'path': parsed.path,125 'platform': parsed.platform,126 'sdk_path': sdk_path,127 'sdk_version': str(sdk_version)})128 # Nobody wants trailing slashes. This is true even if â/â is the SDK: itâs129 # better to return an empty string, which will be interpreted as âno sysroot.â130 sdk_path = sdk_path.rstrip(os.path.sep)131 print(sdk_version)132 print(sdk_path)133 return 0134if __name__ == '__main__':...
rest.py
Source:rest.py
1from requests import get, post, delete, patch2from ..utils.request import fetch3from ..utils.api import endpoint, last_name, last_name_plural, api_json, from_api_json, cast_json_to_api_format4def get_page(sdk_version, host, api_version, user, resource, language, timeout, **query):5 json = fetch(6 host=host,7 sdk_version=sdk_version,8 user=user,9 method=get,10 path=endpoint(resource),11 query=query,12 api_version=api_version,13 language=language,14 timeout=timeout,15 ).json()16 entities = [from_api_json(resource, entity) for entity in json[last_name_plural(resource)]]17 cursor = json.get("cursor")18 return entities, cursor19def get_stream(sdk_version, host, api_version, user, resource, language, timeout, limit=None, **query):20 limit_query = {"limit": min(limit, 100) if limit else limit}21 limit_query.update(query)22 while True:23 entities, cursor = get_page(24 host=host,25 sdk_version=sdk_version,26 user=user,27 resource=resource,28 api_version=api_version,29 language=language,30 timeout=timeout,31 **limit_query32 )33 for entity in entities:34 yield entity35 if limit:36 limit -= 10037 query["limit"] = min(limit, 100)38 query["cursor"] = cursor39 if not cursor or (limit is not None and limit <= 0):40 break41def get_id(sdk_version, host, api_version, user, resource, id, language, timeout, **query):42 json = fetch(43 host=host,44 sdk_version=sdk_version,45 user=user,46 method=get,47 path="{endpoint}/{id}".format(endpoint=endpoint(resource), id=id),48 query=query,49 api_version=api_version,50 language=language,51 timeout=timeout,52 ).json()53 entity = json[last_name(resource)]54 return from_api_json(resource, entity)55def get_content(sdk_version, host, api_version, user, resource, id, sub_resource_name, language, timeout, **query):56 return fetch(57 host=host,58 sdk_version=sdk_version,59 user=user,60 method=get,61 path="{endpoint}/{id}/{sub_resource_name}".format(62 endpoint=endpoint(resource),63 id=id,64 sub_resource_name=sub_resource_name,65 ),66 query=query,67 api_version=api_version,68 language=language,69 timeout=timeout,70 ).content71def get_sub_resource(sdk_version, host, api_version, user, resource, id, sub_resource, language, timeout, **query):72 entity = fetch(73 host=host,74 sdk_version=sdk_version,75 user=user,76 method=get,77 path="{endpoint}/{id}/{sub_resource}".format(78 endpoint=endpoint(resource),79 id=id,80 sub_resource=endpoint(sub_resource),81 ),82 query=query,83 api_version=api_version,84 language=language,85 timeout=timeout,86 ).json()[last_name(sub_resource)]87 return from_api_json(sub_resource, entity)88def get_sub_resources(sdk_version, host, api_version, user, resource, id, sub_resource, language, timeout, **query):89 entities = fetch(90 host=host,91 sdk_version=sdk_version,92 user=user,93 method=get,94 path="{endpoint}/{id}/{sub_resource}".format(95 endpoint=endpoint(resource),96 id=id,97 sub_resource=endpoint(sub_resource),98 ),99 query=query,100 api_version=api_version,101 language=language,102 timeout=timeout,103 ).json()[last_name_plural(sub_resource)]104 return [from_api_json(sub_resource, entity) for entity in entities]105def post_multi(sdk_version, host, api_version, user, resource, entities, language, timeout, **query):106 json = fetch(107 host=host,108 sdk_version=sdk_version,109 user=user,110 method=post,111 path=endpoint(resource),112 payload={last_name_plural(resource): [api_json(entity) for entity in entities]},113 query=query,114 api_version=api_version,115 language=language,116 timeout=timeout,117 ).json()118 entities = json[last_name_plural(resource)]119 return [from_api_json(resource, entity) for entity in entities]120def post_single(sdk_version, host, api_version, user, resource, entity, language, timeout, **query):121 payload = api_json(entity)122 json = fetch(123 host=host,124 sdk_version=sdk_version,125 user=user,126 method=post,127 path=endpoint(resource),128 payload=payload,129 query=query,130 api_version=api_version,131 language=language,132 timeout=timeout,133 ).json()134 entity_json = json[last_name(resource)]135 return from_api_json(resource, entity_json)136def delete_id(sdk_version, host, api_version, user, resource, id, language, timeout, **query):137 json = fetch(138 host=host,139 sdk_version=sdk_version,140 user=user,141 method=delete,142 path="{endpoint}/{id}".format(endpoint=endpoint(resource), id=id),143 query=query,144 api_version=api_version,145 language=language,146 timeout=timeout,147 ).json()148 entity = json[last_name(resource)]149 return from_api_json(resource, entity)150def patch_id(sdk_version, host, api_version, user, resource, id, payload, language, timeout, **query):151 json = fetch(152 host=host,153 sdk_version=sdk_version,154 user=user,155 method=patch,156 path="{endpoint}/{id}".format(endpoint=endpoint(resource), id=id),157 payload=cast_json_to_api_format(payload),158 query=query,159 api_version=api_version,160 language=language,161 timeout=timeout,162 ).json()163 entity = json[last_name(resource)]164 return from_api_json(resource, entity)165def get_raw(sdk_version, host, api_version, path, user, language, timeout, **query):166 return fetch(167 host=host,168 sdk_version=sdk_version,169 user=user,170 method=get,171 path=path,172 query=query,173 api_version=api_version,174 language=language,175 timeout=timeout,...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!