private async void Button_Click_15(object sender, RoutedEventArgs e)
        {
            try
            {
                asyncFirefoxDriver = new AsyncFirefoxDriver();
                await asyncFirefoxDriver.Connect();

                webDriver = new WebDriver(asyncFirefoxDriver);
                var browserDevToolsDriver = await asyncFirefoxDriver.OpenBrowserDevTools();

                // browserDevToolsDriver is AsyncFirefoxDriver
                devToolsWebDriver = new WebDriver(browserDevToolsDriver);
                //await asyncFirefoxDriver.SetContextChrome();
                await browserDevToolsDriver.Options.Timeouts.SetImplicitWait(TimeSpan.FromSeconds(2));

                //await devToolsWebDriver.SwitchTo().Frame("toolbox-iframe");
                var inspectorTab = await devToolsWebDriver.FindElementByXPath("//*[@id=\"toolbox-tab-inspector\"]"); //.FindElementById("toolbox-tab-inspector");

                await inspectorTab.Click();

                tbOpenRes.Text = "BrowserDevTools opened and clicked on toolbox-tab-inspector";
            }
            catch (Exception ex)
            {
                tbOpenRes.Text = ex.ToString();
            }
        }
 private void Button_Click_12(object sender, RoutedEventArgs e)
 {
     asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig().SetIsMultiprocessFalse().SetDoSetDebuggerRemoteEnabled());
     webDriver          = new WebDriver(asyncFirefoxDriver);
     syncWebDriver      = new SyncWebDriver(webDriver);
     syncWebDriver.GoToUrl("https://www.google.com/");
 }
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            //if (Prepare() != "ok") return;
            if (webDriver == null)
            {
                asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig().SetIsMultiprocessFalse());
                webDriver          = new WebDriver(asyncFirefoxDriver);
            }

            var url = tbUrl.Text;

            if (requestListener == null)
            {
                requestListener = new ZuRequestListener(asyncFirefoxDriver);
                // or
                //requestListener = new ZuRequestListener(asyncDriver.browserClient);
                requestListener.DoSendBinary = false;
                //requestListener.SaveAllFilesToFolder = "D:\\Temp\\files\\";
                lbRequests.ItemsSource      = loadedFiles;
                requestListener.FileLoaded += RequestListener_FileLoaded;
                await requestListener.StartListeningFileLoaded();
            }

            var res2 = await webDriver.GoToUrl(url); //"https://www.google.com/");

            tbRes.Text = res2 + Environment.NewLine + Environment.NewLine + tbRes.Text;
        }
        private async void OpenTab_Button_Click_10(object sender, RoutedEventArgs e)
        {
            var name = tbOpenProfileName.Text;

            try
            {
                if (chbOpenProfileHeadless.IsChecked == true)
                {
                    var(width, height) = GetWidthHeight();
                    asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig().SetHeadless().SetWindowSize(width, height).SetProfileName(name).SetOpenOffline());
                }
                else
                {
                    asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig().SetProfileName(name).SetOpenOffline());
                }
                webDriver = new WebDriver(asyncFirefoxDriver);
                driversToClose.Add(webDriver);
                // await asyncFirefoxDriver.Connect(); // browser opens here
                await webDriver.GoToUrl("https://www.google.com/"); // browser opens here

                var mess = $"Profile {asyncFirefoxDriver.Config.UserDir} opened on port {asyncFirefoxDriver.Port} \nWhen close, dir will NOT be DELETED";
                tbDevToolsRes2.Text = mess;
            }
            catch (Exception ex)
            {
                tbDevToolsRes2.Text = ex.ToString();
            }
        }
        private async void Button_Click_18(object sender, RoutedEventArgs e)
        {
            try
            {
                if (webDriver != null)
                {
                    await webDriver.Close();
                }
                var profileName = tbOpenProfileName.Text;
                asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig()
                                                            .SetProfileName(profileName)
                                                            .SetIsMultiprocessFalse()
                                                            .SetDoSetDebuggerRemoteEnabled()
                                                            );
                webDriver = new WebDriver(asyncFirefoxDriver);
                browsersToClose.Add(asyncFirefoxDriver);
                await webDriver.Open();

                await asyncFirefoxDriver.OpenBrowserDevTools(new Random().Next(2000) + 22000, false);

                AddInfo("BrowserDevTools opened in XUL");
            }
            catch (Exception ex)
            {
                AddInfo(ex.ToString());
            }
        }
        private async void Button_Click_28(object sender, RoutedEventArgs e)
        {
            try
            {
                if (webDriver != null)
                {
                    await webDriver.Close();
                }
                var profileName = tbOpenProfileName.Text;
                var dir         = Path.Combine(tbOpenProfileDir.Text, profileName);
                await FirefoxProfilesWorker.CreateFirefoxProfile(dir, profileName);

                asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig()
                                                            .SetProfileName(profileName)
                                                            .SetDoOpenBrowserDevTools()
                                                            );
                browsersToClose.Add(asyncFirefoxDriver);
                webDriver = new WebDriver(asyncFirefoxDriver);
                await webDriver.Open();

                AddInfo("BrowserDevTools opened");
            }
            catch (Exception ex)
            {
                AddInfo(ex.ToString());
            }
        }
        private async void Button_Click_21(object sender, RoutedEventArgs e)
        {
            var profileName = tbOpenProfileName.Text;

            asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig().SetProfileName(profileName).SetIsMultiprocessFalse().SetDoSetDebuggerRemoteEnabled());
            webDriver          = new WebDriver(asyncFirefoxDriver);
            await webDriver.GoToUrl("https://www.google.com/");
        }
示例#8
0
        private async Task <string> Make_ffDriver(string profileName = "default", bool doOpenSecondPort = true)
        {
            FirefoxProfilesWorker.OpenFirefoxProfile(profileName);

            ffDriver            = new AsyncFirefoxDriver(profileName);
            ffDriver.DoConnect2 = doOpenSecondPort;
            return(await ffDriver.Connect());
        }
示例#9
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            var profileName = tbProfileName.Text;

            ffDriver = new AsyncFirefoxDriver(profileName);
            await ffDriver.Connect();

            tblOpened.Text = "opened";
        }
        ///**
        // * Shortcuts for accessing various debugger preferences.
        // */
        //var Prefs = new PrefsHelper("devtools.debugger", {
        //  chromeDebuggingHost: ["Char", "chrome-debugging-host"],
        //  chromeDebuggingPort: ["Int", "chrome-debugging-port"],
        //  chromeDebuggingWebSocket: ["Bool", "chrome-debugging-websocket"],
        //});

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            var debuggerPort = 9876;
            //var config = new DriverConfig().SetCommandLineArgumets(" --start-debugger-server " + debuggerPort);
            var config = new FirefoxDriverConfig()
                         .SetCommandLineArgumets("-start-debugger-server " + debuggerPort) //;
                         .SetUserPreferences(new Dictionary <string, string>
            {
                { "devtools.debugger.prompt-connection", "false" },
                { "devtools.debugger.remote-enabled", "true" },
                { "devtools.chrome.enabled", "true" },
                { "devtools.debugger.remote-port", debuggerPort.ToString() },
                { "devtools.debugger.chrome-debugging-port", debuggerPort.ToString() }
            });
            var path = config.UserDir;

            asyncFirefoxDriver = new AsyncFirefoxDriver(config);
            webDriver          = new WebDriver(asyncFirefoxDriver);

            await asyncFirefoxDriver.Connect();

            var devToolsPrefs = new Dictionary <string, string>
            {
                { "devtools.debugger.prompt-connection", "false" },
                { "devtools.debugger.remote-enabled", "true" },
                { "devtools.debugger.remote-port", "9876" },
                { "devtools.debugger.chrome-debugging-port", debuggerPort.ToString() }
            };
            var devToolsProfileDir = Path.Combine(path, CHROME_DEBUGGER_PROFILE_NAME);

            devToolsProfileName = CHROME_DEBUGGER_PROFILE_NAME + new Random().Next(1000).ToString();
            await FirefoxProfilesWorker.CreateFirefoxProfile(devToolsProfileDir, devToolsProfileName);

            FirefoxProfilesWorker.AddWriteUserPreferences(devToolsProfileDir, devToolsPrefs);


            var xulURI = DBG_XUL;
            var args   = new string[] {
                //"-no-remote",
                "-foreground",
                //"-profile", this._dbgProfilePath,
                "-chrome", xulURI
            };
            var argsStr        = string.Join(" ", args);
            var configDevTools = new FirefoxDriverConfig()
                                 .SetProfileName(devToolsProfileName);

            //.SetIsTempProfile()
            //.SetCommandLineArgumets(argsStr);

            asyncFirefoxDriver2 = new AsyncFirefoxDriver(configDevTools);
            webDriver2          = new WebDriver(asyncFirefoxDriver2);
            await asyncFirefoxDriver2.Connect();

            await asyncFirefoxDriver2.Navigation.GoToUrl(DBG_XUL);
        }
 private string Prepare()
 {
     if (asyncFirefoxDriver == null)
     {
         var profileName = tbProfileName.Text;
         asyncFirefoxDriver = new AsyncFirefoxDriver(profileName);
         webDriver          = new WebDriver(asyncFirefoxDriver);
     }
     return("ok");
 }
        private async void FirefoxTab_Button_Click(object sender, RoutedEventArgs e)
        {
            asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig().SetHeadless().SetWindowSize(1200, 900));
            webDriver          = new WebDriver(asyncFirefoxDriver);
            await webDriver.GoToUrl("https://www.google.com/");

            var screenshot = await webDriver.GetScreenshot();

            using (MemoryStream imageStream = new MemoryStream(screenshot.AsByteArray))
            {
                System.Drawing.Image screenshotImage = System.Drawing.Image.FromStream(imageStream);
                screenshotImage.Save(GetFilePathToSaveScreenshot(@"C:\temp"), System.Drawing.Imaging.ImageFormat.Png);
            }
        }
        private async void Button_Click_7(object sender, RoutedEventArgs e)
        {
            asyncChromeDriver = new AsyncChromeDriver(new ChromeDriverConfig().SetDoOpenWSProxy());
            webDriver         = new WebDriver(asyncChromeDriver);
            browsersToClose.Add(asyncChromeDriver);
            await webDriver.Open();

            asyncFirefoxDriver = new AsyncFirefoxDriver();
            browsersToClose.Add(asyncFirefoxDriver);
            await asyncFirefoxDriver.Connect();

            await asyncFirefoxDriver.Navigation.GoToUrl(asyncChromeDriver.GetBrowserDevToolsUrl());

            AddInfo("opened");
        }
        private async void OpenTab_Button_Click_11(object sender, RoutedEventArgs e)
        {
            try
            {
                IAsyncWebBrowserClient browserClient = null;
                DriverConfig           config        = null;
                if (chbOpenProfileHeadless.IsChecked == true)
                {
                    var(width, height) = GetWidthHeight();
                    // one config for all or
                    config = new DriverConfig().SetHeadless().SetWindowSize(width, height);
                }
                else
                {
                    config = new DriverConfig();
                }

                if (rbOpenFirefox.IsChecked == true)
                {
                    asyncFirefoxDriver = new AsyncFirefoxDriver(config);
                    browserClient      = asyncFirefoxDriver;
                }
                else if (rbOpenChrome.IsChecked == true)
                {
                    asyncChromeDriver = new AsyncChromeDriver(config);
                    browserClient     = asyncChromeDriver;
                }
                else if (rbOpenOpera.IsChecked == true)
                {
                    asyncOperaDriver = new AsyncOperaDriver(config);
                    browserClient    = asyncOperaDriver;
                }

                webDriver = new WebDriver(browserClient);
                driversToClose.Add(webDriver);
                //await asyncFirefoxDriver.Connect(); // browser opens here
                await webDriver.GoToUrl("https://www.bing.com/"); // browser opens here

                var mess = $"opened on port {config.Port} in dir {config.UserDir} \nWhen close, dir will be DELETED";
                tbDevToolsRes2.Text = mess;
            }
            catch (Exception ex)
            {
                tbDevToolsRes2.Text = ex.ToString();
            }
        }
        private async void Button_Click_28(object sender, RoutedEventArgs e)
        {
            if (webDriver != null)
            {
                await webDriver.Close();
            }
            var profileName = tbOpenProfileName.Text;
            var dir         = Path.Combine(tbOpenProfileDir.Text, profileName);
            await FirefoxProfilesWorker.CreateFirefoxProfile(dir, profileName);

            asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig()
                                                        .SetProfileName(profileName)
                                                        .SetDoOpenBrowserDevTools()
                                                        //.SetIsMultiprocessFalse()
                                                        //.SetDoSetDebuggerRemoteEnabled()
                                                        );
            webDriver = new WebDriver(asyncFirefoxDriver);
            //await webDriver.Open();
            await webDriver.GoToUrl("https://www.google.com/");

            //await asyncFirefoxDriver.OpenBrowserDevTools();
        }
        private async void Button_Click_25(object sender, RoutedEventArgs e)
        {
            var profileName = tbOpenProfileName.Text;

            asyncFirefoxDriver = new AsyncFirefoxDriver(
                new FirefoxDriverConfig()
                .SetProfileName(profileName)
                .SetDoOpenBrowserDevTools()
                //.SetIsMultiprocessFalse()
                //.SetDoSetDebuggerRemoteEnabled()
                );
            webDriver = new WebDriver(asyncFirefoxDriver);
            await webDriver.GoToUrl("https://www.google.com/");

            //await asyncFirefoxDriver.OpenBrowserDevTools();
            // asyncFirefoxDriver.BrowserDevTools is AsyncFirefoxDriver
            devToolsWebDriver = new WebDriver(asyncFirefoxDriver.BrowserDevTools);
            //// TODO: not works SwitchTo().Frame("toolbox-iframe");  listener.js 1715
            //await devToolsWebDriver.SwitchTo().Frame("toolbox-iframe");
            //var inspectorTab = await devToolsWebDriver.FindElementById("toolbox-tab-inspector");
            //await inspectorTab.Click();
        }
        private async void Button_Click_23(object sender, RoutedEventArgs e)
        {
            try
            {
                if (webDriver != null)
                {
                    await webDriver.Close();
                }
                asyncFirefoxDriver = new AsyncFirefoxDriver(new FirefoxDriverConfig()
                                                            .SetDoOpenBrowserDevTools()
                                                            );
                browsersToClose.Add(asyncFirefoxDriver);
                webDriver = new WebDriver(asyncFirefoxDriver);
                await webDriver.Open();

                AddInfo("BrowserDevTools opened");
            }
            catch (Exception ex)
            {
                AddInfo(ex.ToString());
            }
        }
 public ZuRequestListener(AsyncFirefoxDriver browserClient)
 {
     this.browserClient = browserClient;
 }