@@ -104,12 +104,13 @@ public async Task<IBrowser> SpawnBrowserAsync(
104
104
string browserUrl ,
105
105
bool headless = true ,
106
106
int timeout = 10000 ,
107
- int maxRetries = 3
107
+ int maxRetries = 3 ,
108
+ string language = "en-US"
108
109
) {
109
110
var url = new Uri ( browserUrl ) ;
110
111
Playwright = await Microsoft . Playwright . Playwright . CreateAsync ( ) ;
111
112
// codespaces: ignore certificate error -> Microsoft.Playwright.PlaywrightException : net::ERR_CERT_AUTHORITY_INVALID
112
- string [ ] chromeArgs = new [ ] { $ "--explicitly-allowed-ports={ url . Port } ", "--ignore-certificate-errors" } ;
113
+ string [ ] chromeArgs = new [ ] { $ "--explicitly-allowed-ports={ url . Port } ", "--ignore-certificate-errors" , $ "--lang= { language } " } ;
113
114
_testOutput . WriteLine ( $ "Launching chrome ('{ s_chromePath . Value } ') via playwright with args = { string . Join ( ',' , chromeArgs ) } ") ;
114
115
115
116
int attempt = 0 ;
@@ -146,14 +147,15 @@ public async Task<IPage> RunAsync(
146
147
ToolCommand cmd ,
147
148
string args ,
148
149
bool headless = true ,
150
+ string language = "en-US" ,
149
151
Action < IPage , IConsoleMessage > ? onConsoleMessage = null ,
150
152
Action < string > ? onServerMessage = null ,
151
153
Action < string > ? onError = null ,
152
154
Func < string , string > ? modifyBrowserUrl = null )
153
155
{
154
156
var urlString = await StartServerAndGetUrlAsync ( cmd , args , onServerMessage ) ;
155
- var browser = await SpawnBrowserAsync ( urlString , headless ) ;
156
- var context = await browser . NewContextAsync ( ) ;
157
+ var browser = await SpawnBrowserAsync ( urlString , headless , language : language ) ;
158
+ var context = await browser . NewContextAsync ( new BrowserNewContextOptions { Locale = language } ) ;
157
159
return await RunAsync ( context , urlString , headless , onConsoleMessage , onError , modifyBrowserUrl ) ;
158
160
}
159
161
0 commit comments