private void bEvalEvents_Click_16(object sender, RoutedEventArgs e) { asyncFirefoxDriver.AddEventListener(tbEvalEvents5.Text, ffDriverEventListener); }
public async Task StartListeningFileLoaded() { IsListeningFileLoaded = true; browserClient?.AddEventListener("JsRequestListener", OnEventFromConnection); browserClient?.AddEventListener("RequestListener", OnRequestListenerEvent); try { await browserClient?.SetContext(Contexts.Chrome); if (!(await browserClient?.ObjectExists("httpResponseObserver"))) { //var assem = this.GetType().Assembly; //var resPath = $"{assem.GetName().Name}.js.mymarionetteserver.js"; //var code = ""; //if (assem.GetManifestResourceNames().Contains(resPath)) //{ // using (Stream stream = assem.GetManifestResourceStream(resPath)) // { // using (StreamReader reader = new StreamReader(stream)) // { // code = reader.ReadToEnd(); // } // } // await browserClient?.ExecuteScript(code, Path.GetFullPath("TracingListener.js")); //} //else //{ // var res1 = await browserClient?.EvalFile("TracingListener.js"); //} await EvalFile("TracingListener.js"); } if (DoSendBinary) { var res1 = await /*browserClient?.*/ EvalFile("base64.js"); res1 = await browserClient?.Eval($"httpResponseObserver.doSendBinary = true; return 'ok'"); } if (SaveAllFilesToFolder != null) { var res1 = await browserClient?.Eval("require = this._zuAddon.require;"); res1 = await browserClient?.Eval($"httpResponseObserver.pathToSave = \"{SaveAllFilesToFolder.Replace("\\", "\\\\")}\""); res1 = await browserClient?.Eval($"httpResponseObserver.doSaveAll = true; return 'ok'"); } var res = await browserClient?.AddSendEventFuncIfNo(); //res = await browserClient?.Eval("this.TracingListenerActivate(); return 'ok';"); res = await browserClient?.EvalInChrome(@"try { this.onFileLoaded = function (url, body, code){ top.zuSendEvent({""to"": ""JsRequestListener"", ""type"": 2, ""url"": url, ""body"": body, ""code"": code}); } this.httpResponseObserver.addListener(this); } catch(ex) { return ex.toString(); } return ""ok""; "); } catch (Exception ex) { } }