3131from playwright ._impl ._helper import (
3232 ColorScheme ,
3333 ReducedMotion ,
34+ async_readfile ,
3435 is_safe_close_error ,
3536 locals_to_params ,
3637)
@@ -106,7 +107,7 @@ async def new_context(
106107 storageState : Union [StorageState , str , Path ] = None ,
107108 ) -> BrowserContext :
108109 params = locals_to_params (locals ())
109- normalize_context_params (self ._connection ._is_sync , params )
110+ await normalize_context_params (self ._connection ._is_sync , params )
110111
111112 channel = await self ._channel .send ("newContext" , params )
112113 context = from_channel (channel )
@@ -190,7 +191,7 @@ async def stop_tracing(self) -> bytes:
190191 return base64 .b64decode (encoded_binary )
191192
192193
193- def normalize_context_params (is_sync : bool , params : Dict ) -> None :
194+ async def normalize_context_params (is_sync : bool , params : Dict ) -> None :
194195 params ["sdkLanguage" ] = "python" if is_sync else "python-async"
195196 if params .get ("noViewport" ):
196197 del params ["noViewport" ]
@@ -214,5 +215,6 @@ def normalize_context_params(is_sync: bool, params: Dict) -> None:
214215 if "storageState" in params :
215216 storageState = params ["storageState" ]
216217 if not isinstance (storageState , dict ):
217- with open (storageState , "r" ) as f :
218- params ["storageState" ] = json .load (f )
218+ params ["storageState" ] = json .loads (
219+ (await async_readfile (storageState )).decode ()
220+ )
0 commit comments