コード例 #1
0
        public Page GetSource(Page page)
        {
            BrowserType type = WebProjectTypeProvider.GetBrowserType(page.Parent.Settings.GetMultipleChoiceSetting("BrowserType"));

            if (WebProjectTypeProvider.CheckSelenium(type))
            {
                string url = page.Parent.Settings.GetTextSetting("BaseUrl") + page.Settings.GetTextSetting("PageUrl");
                List <AsyncTasks.AsyncTask> tasks = new List <AsyncTasks.AsyncTask>();


                NavigateToPageTask navigateTask = new NavigateToPageTask(url);
                navigateTask.Selenium          = WebProjectTypeProvider.Selenium[type];
                navigateTask.PassThrough       = true;
                navigateTask.PassThroughSource = "Selenium";
                navigateTask.PassThroughTarget = "Selenium";

                GetHtmlTask getHtmlTask = new GetHtmlTask(url);

                tasks.Add(navigateTask);
                tasks.Add(getHtmlTask);

                AsyncTasks.ProcessTasksDialog dialog = new AsyncTasks.ProcessTasksDialog(ref tasks);
                try
                {
                    dialog.ShowDialog();
                    if (!dialog.AllTasksCanceled)
                    {
                        HtmlDocument document = new HtmlDocument();
                        document.LoadHtml(getHtmlTask.Html);
                        page.Extensions = new WebPageExtensions(document);
                        page.Source     = getHtmlTask.Html;
                        return(page);
                    }
                    else
                    {
                        return(null);
                    }
                }
                catch (Exception)
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
コード例 #2
0
        public (Section section, bool succes) RefreshSection(Section section, Page page, Models.Version version, Project project)
        {
            BrowserType type = GetBrowserType(version.Settings.GetMultipleChoiceSetting("BrowserType"));

            if (CheckSelenium(type))
            {
                List <AsyncTask> tasks = new List <AsyncTask>();

                NavigateToPageTask navigateTask = new NavigateToPageTask(version.Settings.GetTextSetting("BaseUrl") + page.Settings.GetTextSetting("PageUrl"));
                navigateTask.Selenium          = Selenium[type];
                navigateTask.PassThrough       = true;
                navigateTask.PassThroughSource = "Selenium";
                navigateTask.PassThroughTarget = "Selenium";
                tasks.Add(navigateTask);

                GetElementBoundsTask getElementBoundsTask = new GetElementBoundsTask(section.SectionIdentifier.Identifier);
                getElementBoundsTask.PassThrough       = true;
                getElementBoundsTask.PassThroughSource = "Selenium";
                getElementBoundsTask.PassThroughTarget = "Selenium";
                tasks.Add(getElementBoundsTask);

                ProcessTasksDialog dialog = new ProcessTasksDialog(ref tasks);
                try
                {
                    dialog.ShowDialog();
                    if (!dialog.AllTasksCanceled)
                    {
                        section.ElementBounds = new ElementBounds(getElementBoundsTask.ElementBounds.point, getElementBoundsTask.ElementBounds.size);
                    }
                }
                catch (Exception ex)
                {
                    return(section, false);
                }
                return(section, true);
            }
            else
            {
                return(section, false);
            }
        }
コード例 #3
0
        public (Page page, bool succes) RefreshPage(Page page, Models.Version version, Project project)
        {
            List <AsyncTask> tasks = new List <AsyncTask>();
            BrowserType      type  = GetBrowserType(version.Settings.GetMultipleChoiceSetting("BrowserType"));

            if (CheckSelenium(type))
            {
                NavigateToPageTask navigateTask = new NavigateToPageTask(version.Settings.GetTextSetting("BaseUrl") + page.Settings.GetTextSetting("PageUrl"));
                navigateTask.Selenium          = Selenium[type];
                navigateTask.PassThrough       = true;
                navigateTask.PassThroughSource = "Selenium";
                navigateTask.PassThroughTarget = "Selenium";
                tasks.Add(navigateTask);

                MakeScreenshotTask makeScreenshotTask = new MakeScreenshotTask();
                makeScreenshotTask.PassThrough       = true;
                makeScreenshotTask.PassThroughSource = "Selenium";
                makeScreenshotTask.PassThroughTarget = "Selenium";
                tasks.Add(makeScreenshotTask);

                ProcessTasksDialog dialog = new ProcessTasksDialog(ref tasks);
                try
                {
                    dialog.ShowDialog();
                    if (!dialog.AllTasksCanceled)
                    {
                        page.Screenshot = makeScreenshotTask.Screenshot;
                    }
                }
                catch (Exception ex)
                {
                    return(page, false);
                }
                return(page, true);
            }
            else
            {
                return(page, false);
            }
        }