Best Python code snippet using playwright-python
log.py
Source:log.py
...191# æ¯å¦æ¯pythonè¿ç¨å¯å¨çåè¿ç¨192def is_subprocess():193 p = multiprocessing.current_process()194 return isinstance(p, multiprocessing.Process) # main processçç±»åæ¯ MainProcess195def get_file_dirname(_file_):196 return os.path.dirname(os.path.abspath(_file_))197def change_work_dir(_file_): # __file__198 path = get_file_dirname(_file_)199 os.chdir(path)200 logger.info(">>> change work dir to: " + path)201def random_log_name(prefix="log"):202 timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")203 rand = random.randint(10000, 100000)204 return "%s_%s_%s.log" % (prefix, timestamp, rand)205# è¿ä¸ªé®é¢æ¯è¾å¤ï¼ææ¶ä¸å¯ç¨206# import pwd207# import grp208# import getpass209# user_name = getpass.getuser() # è·åå½åç¨æ·å210#211#212# def get_file_owner(file_path):...
conftest.py
Source:conftest.py
...19from pixelmatch import pixelmatch20from pixelmatch.contrib.PIL import from_PIL_to_raw_data21from playwright._impl._path_utils import get_file_dirname22from .server import test_server23_dirname = get_file_dirname()24def pytest_generate_tests(metafunc):25 if "browser_name" in metafunc.fixturenames:26 browsers = metafunc.config.option.browser or ["chromium", "firefox", "webkit"]27 metafunc.parametrize("browser_name", browsers, scope="session")28@pytest.fixture(scope="session")29def event_loop():30 loop = asyncio.get_event_loop()31 yield loop32 loop.close()33@pytest.fixture(scope="session")34def assetdir():35 return _dirname / "assets"36@pytest.fixture(scope="session")37def launch_arguments(pytestconfig):...
background_values.py
Source:background_values.py
...32 "autofluor": "segmented",33 "bleedthrough": "segmented",34 "actual": "distmap",35}36def get_file_dirname(path):37 filename = os.path.splitext(os.path.basename(path))[0]38 dirname = os.path.dirname(path)39 return dirname, filename40def get_paths(path):41 dirname, basename = get_file_dirname(path)42 return basename, os.path.join(dirname, basename, basename)43def compute_subtraction(row, maskname, color, subtraction_value, section=""):44 basename = row["file_name"]45 dirname = row["dir_name"]46 basepath = os.path.join(dirname, basename, basename)47 datapath = basepath + "_" + maskname + ".mat"48 imgpath = basepath + "_c{0}.tiff".format(color[0])49 try:50 if maskname == "distmap":51 df = scipy.io.loadmat(datapath)["distmap_masked"]52 data = (image_section_funcs[section])(df) # get top, bottom, or all53 else:54 data = scipy.io.loadmat(datapath)["image"]55 except TypeError as e:56 print("file {0} not found".format(datapath))57 raise e58 img = skimage.io.imread(imgpath)59 img = lib.util.array_sub(img, subtraction_value)60 return np.mean(img[data == 1])61def get_new_bg_flour_func(pa):62 fileData = pd.DataFrame()63 dirnames, filenames = zip(*[get_file_dirname(f) for f in pa.files])64 strains = [fn.split("_")[0] for fn in filenames]65 fileData["file_name"] = filenames66 fileData["dir_name"] = dirnames67 fileData["strain"] = strains68 for (69 color70 ) in channels.keys(): # yes I know, we read each mask twice but we just run once.71 print("Color ", color)72 fileData[color + "_none"] = 073 acumulated_subtraction_list = ["none"]74 for subtraction in channels[color]:75 means = fileData.mean() # a series with the mean of each column76 print(acumulated_subtraction_list)77 print([means[color + "_" + s] for s in acumulated_subtraction_list])...
run.py
Source:run.py
...11from comlib.conf.ref import envconf,uwaprojscanconf12import time13rootpath = ''14projectpath = ''15uploaderpath = os.path.join(com.get_file_dirname(__file__),'UwaDataUploader','UwaDataUploader.exe')16timemark = com.getlocaltime('-')17def run_UWA_projscan(projectpath):18 SVNManager.update_safe(projectpath)19 env = Loader.getenvconf()20 unityM = TMUnityManager(env.enginepath,projectpath,timemark)21 # é
ç½®uwa22 uwaconf = Loader.load(uwaprojscanconf)23 dllpath = os.path.join(thisdir,uwaconf.name)24 dllpath_in_project = os.path.join(unityM.unityAssetPath,uwaconf.name)25 com.dumpfile_json({'user':uwaconf.user,'password':uwaconf.password,'project':uwaconf.project},os.path.join(thisdir,'UwaDataUploader','config.json'))26 Path.ensure_pathnewest(dllpath,dllpath_in_project,ignore=shutil.ignore_patterns('.svn'))27 subp,code,respath = unityM.UWA_projscan()28 okfile = os.path.join(projectpath,'UwaScan','table.particleeffect.csv')29 def waitok():30 com.logout('çå¾
table.particleeffect.csvæ件çæ')31 while not os.path.exists(okfile):32 time.sleep(3)33 com.logout('çå¾
uwaæ«æç»æåå
¥')34 # æ件大ï¼çå¾
20sç¡®ä¿æ件åå
¥å®æ¯35 time.sleep(20)36 com.logout('å·¥ç¨æ§è¡æå')37 38 thds = ThreadManager.go(waitok,count=1)39 ThreadManager.waitall(thds)40 time.sleep(3)41 BinManager.kill_all_unity()42 time.sleep(3)43 subp.kill()44 time.sleep(3)45 base_cmd = com.getvalue4plat(uploaderpath,'mono '+uploaderpath)46 cmd = base_cmd + ' ' + respath47 out,code = com.cmd(cmd,errException=Exception("Uploadç»æ失败"))48 49 Path.ensure_pathnotexsits(dllpath_in_project)50 resfile = os.path.join(com.get_file_dirname(__file__),'UwaDataUploader','result.json')51 52 # "èµæºæ£æµç»æä¸ä¼ æåï¼æ¥çæ¥åå°åï¼https://www.uwa4d.com/u/pipeline/overview?project=${states.projctid}"53 js = com.loadfile_json(resfile)54 Path.ensure_pathnotexsits(resfile)55 if js['status'] == 'failed':56 DingERROR(f"èµæºä¸ä¼ 失败,{js['reason']}")57 Ding(js['projctid'])58def Ding(projctid):59 content = "èµæºæ£æµç»æä¸ä¼ æåï¼"60 content += ä¸ç¹äºä¼å群ä¼åæºå¨äºº.markdown_textlink('>>æ¥çæ¥å<<',f'https://www.uwa4d.com/u/pipeline/overview?project={projctid}')61 data = ä¸ç¹äºä¼å群ä¼åæºå¨äºº.build_markdown("UWAèµæºæ£æµç»æ",content)62 ä¸ç¹äºä¼å群ä¼åæºå¨äºº.send(data)63 data = ä¸ç¹äºä¼å群ä¼åæºå¨äºº.build_text('uwaèµæºæ«ææ¥ååºæ¥äº',Loader.æ ¹æ®ä¸æåè·åçµè¯('ççºç«£'),Loader.æ ¹æ®ä¸æåè·åçµè¯('éæè'))64 ä¸ç¹äºä¼å群ä¼åæºå¨äºº.send(data)...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!