Пример #1
0
 private static void PerformPageActions <TDriver>(TDriver driver, IWebPage <TDriver> page) where TDriver : IWebDriver
 {
     driver.Navigate().GoToUrl(page.Url);
     page.PreCheck(driver);
     page.PerformActions(driver);
     page.PostCheck(driver);
 }
        public static IWebPostbackData FromPage(IWebPage page, string url, NameValueCollection values = null)
        {
            var postData = new GenericASPWebPostBackData
            {
                Cookies     = page.Cookies,
                EventData   = page.EventData,
                ViewState   = page.ViewState,
                PostbackUrl = new Uri(url),
                Data        = new NameValueCollection(),
            };

            if (page.ViewState != null)
            {
                postData.Data.Add("__VIEWSTATE", page.ViewState);
            }
            if (page.EventData != null)
            {
                postData.Data.Add("__EVENTVALIDATION", page.EventData);
            }
            if (values != null)
            {
                postData.Data.Add(values);
            }

            return(postData);
        }
Пример #3
0
        /// <summary>
        /// Popuplate properties from IWebPage data object.
        /// </summary>
        /// <param name="pageData"></param>
        public virtual void Populate(IWebPage pageData)
        {
            this.Title          = pageData.Title;
            this.Description    = pageData.Description;
            this.Keywords       = pageData.Keywords;
            this.ImageUrl       = pageData.ImageUrl;
            this.IconUrl        = pageData.IconUrl;
            this.LinkTo         = pageData.LinkTo;
            this.Target         = pageData.Target;
            this.ViewData       = pageData.ViewData;
            this.ViewName       = pageData.ViewName;
            this.AllowAnonymous = pageData.AllowAnonymous;
            this.ShowInMenu     = pageData.ShowInMenu;
            this.ShowInSitemap  = pageData.ShowInSitemap;
            this.IsStatic       = pageData.IsStatic;
            this.IsShared       = pageData.IsShared;
            this.Locale         = pageData.Locale;
            this.Slug           = pageData.Slug;
            this.ViewMode       = pageData.ViewMode;
            this.CssText        = pageData.CssText;
            this.Scripts        = pageData.Scripts;
            this.StartupScripts = pageData.StartupScripts;
            this.StyleSheets    = pageData.StyleSheets;
            this.Dir            = string.IsNullOrEmpty(pageData.Dir) ? "ltr" : pageData.Dir;

            if (!string.IsNullOrEmpty(this.ViewName) && this.ViewName.StartsWith("Layout", StringComparison.OrdinalIgnoreCase))
            {
                var formattedLayout = "~/views/dynamicUI/layouts/" + this.ViewName;
                if (!formattedLayout.EndsWith("cshtml", StringComparison.OrdinalIgnoreCase))
                {
                    formattedLayout += ".cshtml";
                }
                this.ViewName = formattedLayout;
            }
        }
        public static void NavigateTo <T>(IWebDriver driver, BasePage <T> page, object parameter) where T : class, IWebPage
        {
            Stack <IWebPage> pages  = new Stack <IWebPage>();
            IWebPage         myPage = page;

            do
            {
                pages.Push(myPage);
                myPage = myPage.FromPage();
            } while (myPage != null);

            while (pages.Count > 0)
            {
                var p        = pages.Pop();
                var tempPage = p.FromPage();
                if (tempPage != null)
                {
                    tempPage.Parameter = parameter;
                    tempPage.Driver    = driver;
                }
                driver.WaitPageLoad();
                p.Parameter = parameter;
                p.Driver    = driver;
                p.Navigate(tempPage);
                TimeWait.Default.Until(() => switchPage(driver, p));
            }
        }
Пример #5
0
 /// <summary>
 /// Open the web page.
 /// </summary>
 /// <param name="url">The url to open.</param>
 public void Open(string url)
 {
     if (Driver.TryFind(WebBrowserSearchPattern, 1, 0, out browser))
     {
         webPage = browser.ToUrl(url);
     }
 }
Пример #6
0
 private static void InitPage(IWebPage page)
 {
     if (page.GetType().HasUrlAttribute())
     {
         page.Address = SelenetConfig.Instance.Application.BaseUrl + page.GetType().GetUrlAttribute().Url;
     }
     ElementFactory.InitProperties(page);
 }
Пример #7
0
 private static void InitPage(IWebPage page)
 {
     if (page.GetType().HasUrlAttribute())
     {
         page.Address = BaseUrl + page.GetType().GetUrlAttribute().Url;
     }
     WebElementFactory.InitProperties(page);
 }
        public IWebPageToTextTableExtractor Build(IWebPage webPage)
        {
            IWebPageToTextTableExtractor result = new WebPageToTextTableExtractor();

            result.ProcessingDataContainer = new ProcessDataContainer();
            result.ProcessingLogicContainer = new CanberraEventsPageProcessingLogic();
            result.ProcessingDataContainer.WebPage = webPage;

            return result;
        }
Пример #9
0
 /// <summary>
 /// Add web page
 /// </summary>
 /// <param name="webPage"></param>
 public void AddWebPage(IWebPage webPage)
 {
     if (webPage != null)
     {
         if (!(webPages.ContainsKey(webPage.Name)))
         {
             webPages.Add(webPage.Name, webPage);
         }
     }
 }
Пример #10
0
        /// <summary>
        /// Get web page
        /// </summary>
        /// <param name="webPage">Web page</param>
        /// <returns>Web page if successful, otherwise "null"</returns>
        public IWebPage GetWebPage(string webPage)
        {
            IWebPage web_page = null;

            if (webPage != null)
            {
                if (webPages.ContainsKey(webPage))
                {
                    web_page = webPages[webPage];
                }
            }
            return(web_page);
        }
Пример #11
0
        /// <summary>
        /// Writes the body of the given <see cref="IWebPage"/> to the <see cref="Html32TextWriter"/>.
        /// </summary>
        /// <param name='htw'>
        /// The <see cref="Html32TextWriter"/> to write the content to.
        /// </param>
        /// <param name='webpage'>
        /// The <see cref="IWebPage"/> to write to the <see cref="Html32TextWriter"/>.
        /// </param>
        private void WriteBody(Html32TextWriter htw, IWebPage webpage)
        {
            this.WriteMasthead(htw, webpage);
            htw.AddAttribute(HtmlTextWriterAttribute.Class, "container");
            htw.RenderBeginTag(HtmlTextWriterTag.Div);
            htw.RenderBeginTag(HtmlTextWriterTag.Hr);
            htw.RenderEndTag();

            webpage.Render(this.device.Manager.ServerFolder, this, htw);

            this.WriteFooter(htw);
            htw.RenderEndTag();
        }
Пример #12
0
 public void SaveData(HtmlTreeView treeView)
 {
     treeView.Nodes.Clear();
     if (treeView.ImageList == null)
     {
         IWebPage wp = treeView.FindForm() as IWebPage;
         if (wp != null)
         {
             treeView.ImageList = wp.AddComponent(typeof(ImageList)) as ImageList;
         }
     }
     copyNodes(treeView1.Nodes, treeView.Nodes, treeView.ImageList);
 }
Пример #13
0
        /// <summary>
        /// Converts the set of <see cref="IdpGie.Shapes.IShape"/> by converting it into a readable format.
        /// </summary>
        public override void Process()
        {
            using (StreamReader inputStream = new StreamReader(client.GetStream())) {
                String   request = inputStream.ReadLine(), line;
                string[] tokens = request.Split(' ');
                if (tokens.Length != 3)
                {
                    throw new Exception("invalid http request line");
                }
                StringBuilder rest = new StringBuilder();
                do
                {
                    line = inputStream.ReadLine();
                    rest.AppendLine(line);
                } while(line != string.Empty && line != null);
                //string http_url = tokens [1];
                string http_filename = tokens [1];
                Console.WriteLine("\"{0}\"", http_filename);

                if (http_filename == "/" + IconName)
                {
                    this.device.Navigationbar.FavIcon.RenderIcon(this.device.Manager.ServerFolder, this, client.GetStream());
                }
                else
                {
                    bool     border;
                    IWebPage wp = this.device.Navigationbar.GetPage(http_filename.Substring(0x01), out border);
                    using (StreamWriter sw = new StreamWriter(client.GetStream())) {
                        using (Html32TextWriter tw = new Html32TextWriter(sw)) {
                            if (border)
                            {
                                tw.WriteLine("<!DOCTYPE html>");
                                tw.RenderBeginTag(HtmlTextWriterTag.Html);
                                tw.RenderBeginTag(HtmlTextWriterTag.Head);
                                this.WriteHeader(tw);
                                tw.RenderEndTag();
                                tw.RenderBeginTag(HtmlTextWriterTag.Body);
                                this.WriteBody(tw, wp);
                                this.WriteJavascript(tw);
                                tw.RenderEndTag();
                                tw.RenderEndTag();
                            }
                            else
                            {
                                wp.Render(this.device.Manager.ServerFolder, this, tw);
                            }
                        }
                    }
                }
            }
        }
Пример #14
0
        /// <summary>
        /// Writes the navigation bar to the given <see cref="Html32TextWriter"/>.
        /// </summary>
        /// <param name='htw'>
        /// The <see cref="Html32TextWriter"/> to write the content to.
        /// </param>
        /// <param name='webpage'>
        /// The webpage that is currently displayed. This is needed to denote the current page.
        /// </param>
        private void WriteMasthead(Html32TextWriter htw, IWebPage webpage)
        {
            INavbar navbar = this.device.Navigationbar;

            htw.AddAttribute(HtmlTextWriterAttribute.Class, "navbar navbar-default navbar-fixed-top");
            htw.AddAttribute("role", "navigation");
            htw.RenderBeginTag(HtmlTextWriterTag.Div);
            {
                htw.AddAttribute(HtmlTextWriterAttribute.Class, "container-fluid");
                htw.RenderBeginTag(HtmlTextWriterTag.Div);
                {
                    htw.AddAttribute(HtmlTextWriterAttribute.Class, "navbar-header");
                    htw.RenderBeginTag(HtmlTextWriterTag.Div);
                    {
                        htw.AddAttribute(HtmlTextWriterAttribute.Class, "navbar-brand");
                        htw.AddAttribute(HtmlTextWriterAttribute.Href, "#");
                        htw.RenderBeginTag(HtmlTextWriterTag.A);
                        {
                            htw.Write(navbar.Name);
                        }
                        htw.RenderEndTag();
                    }
                    htw.RenderEndTag();
                    htw.AddAttribute(HtmlTextWriterAttribute.Class, "navbar-collapse collapse");
                    htw.RenderBeginTag(HtmlTextWriterTag.Div);
                    {
                        htw.AddAttribute(HtmlTextWriterAttribute.Class, "nav navbar-nav");
                        htw.RenderBeginTag(HtmlTextWriterTag.Ul);
                        {
                            foreach (IWebPage wp in navbar.Pages)
                            {
                                if (wp == webpage)
                                {
                                    htw.AddAttribute(HtmlTextWriterAttribute.Class, "active");
                                }
                                htw.RenderBeginTag(HtmlTextWriterTag.Li);
                                htw.AddAttribute(HtmlTextWriterAttribute.Href, wp.Href);
                                htw.RenderBeginTag(HtmlTextWriterTag.A);
                                htw.Write(wp.Name);
                                htw.RenderEndTag();
                                htw.RenderEndTag();
                            }
                        }
                        htw.RenderEndTag();
                    }
                    htw.RenderEndTag();
                }
                htw.RenderEndTag();
            }
            htw.RenderEndTag();
        }
Пример #15
0
        public virtual WebPage Create(Web web, int parentID, IWebPage template)
        {
            if (template == null)
            {
                throw new ArgumentNullException("template");
            }

            var newPage = new WebPage()
            {
                ParentID = parentID,
                Owner    = web.Owner,
                Web      = web,
                Version  = 1
            };

            newPage.Populate(template);
            var slug  = newPage.Slug;
            var slugs = DbSet.Where(p => p.Locale.Equals(newPage.Locale, StringComparison.OrdinalIgnoreCase) && p.WebID.Equals(web.Id)).Select(p => p.Slug).ToArray();

            if (string.IsNullOrEmpty(slug))
            {
                if (string.IsNullOrEmpty(newPage.Title))
                {
                    throw new Exception("The Title property or Slug property must be set.");
                }

                slug         = TextUtility.Slug(newPage.Title);
                newPage.Slug = slug;
            }
            var i = 0;

            while (slugs.Contains(newPage.Slug))
            {
                newPage.Slug = slug + (++i).ToString();
            }

            if (string.IsNullOrEmpty(newPage.Slug))
            {
                throw new ArgumentNullException("The Slug property of the new web page must be set.");
            }

            if (parentID > 0)
            {
                if (dbSet.Find(parentID) == null)
                {
                    throw new WebPageNotFoundException(string.Format("WebPageRepositiory.Create invoke fail. Parent page not found.Here is not page id={0}", parentID));
                }
            }

            return(this.Create(newPage));
        }
        private static void InitPage(IWebPage page)
        {
            if (page.GetType().HasUrlAttribute())
            {
                page.Url     = page.GetType().GetUrlAttribute().Url;
                page.Address = TestsBootstrap.Instance.ServiceProvider.GetService <SerenitySection>().BaseUrl +
                               page.Url;
            }

            if (page.GetType().HasTitleAttribute())
            {
                page.Address = page.GetType().GetTitleAttribute().Title;
            }

            ElementFactory.InitProperties(page);
        }
Пример #17
0
 private static bool switchPage(IWebDriver driver, IWebPage page)
 {
     if (page.FromPage() == null)
     {
         return(true);
     }
     if (driver.WindowHandles.Count == 1)
     {
         return(true);
     }
     foreach (var window in driver.WindowHandles)
     {
         driver.SwitchTo().Window(window);
         if (page.IsNavigate())
         {
             return(true);
         }
     }
     return(false);
 }
Пример #18
0
        /// <summary>
        ///  Gets the web page associated with the given reference.
        /// </summary>
        /// <returns>
        ///  The web page associated with the given reference.
        /// </returns>
        /// <param name='href'>
        ///  The given reference.
        /// </param>
        /// <param name='bordered'>
        ///  A boolean indicating whether the page should be surrounded with a header, navbar and footer.
        /// </param>
        public IWebPage GetPage(string href, out bool bordered)
        {
            IWebPage result = null;

            bordered = true;
            if (href != null && href != string.Empty)
            {
                string path = Path.Combine(this.serverFolder, href);
                result = this.pages.FirstOrDefault(x => Path.Combine(this.serverFolder, x.Href) == path);
                if (result == null)
                {
                    result   = this.queries.FirstOrDefault(x => Path.Combine(this.serverFolder, x.Href) == path);
                    bordered = false;
                }
            }
            if (result == null)
            {
                result = this.DefaultPage;
            }
            return(result);
        }
        private void editWebPage(object sender, EventArgs e)
        {
            MenuItem mi = sender as MenuItem;

            if (mi != null)
            {
                IWebPage page = mi.Tag as IWebPage;
                if (page != null)
                {
                    IDesignerHost host = (IDesignerHost)this.GetService(typeof(IDesignerHost));
                    if (host != null)
                    {
                        HostSurface surface = host.GetService(typeof(DesignSurface)) as HostSurface;
                        if (surface != null)
                        {
                            ClassPointer root = surface.Loader.GetRootId();
                            root.EditWebPage();
                        }
                    }
                }
            }
        }
Пример #20
0
 /// <summary>
 /// Context recieved callback
 /// </summary>
 /// <param name="asyncResult">Asynchronous result</param>
 private void ContextReceivedCallback(IAsyncResult asyncResult)
 {
     try
     {
         if ((webPages != null) && (HTTPListener != null))
         {
             if (HTTPListener.IsListening)
             {
                 HttpListenerContext context = HTTPListener.EndGetContext(asyncResult);
                 HTTPListener.BeginGetContext(new AsyncCallback(ContextReceivedCallback), null);
                 context.Response.ContentEncoding = Encoding.UTF8;
                 using (Stream stream = context.Response.OutputStream)
                 {
                     using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8))
                     {
                         IWebPage web_page = webPages.GetWebPage(context.Request.RawUrl);
                         if (web_page == null)
                         {
                             context.Response.StatusCode = 404;
                             writer.Write("Not available!");
                         }
                         else
                         {
                             context.Response.StatusCode = 200;
                             writer.Write(web_page.GetContent(context));
                         }
                     }
                 }
             }
         }
     }
     catch (Exception e)
     {
         Console.Error.WriteLine(e);
     }
 }
Пример #21
0
        /// <summary>
        /// Writes the body of the given <see cref="IWebPage"/> to the <see cref="Html32TextWriter"/>.
        /// </summary>
        /// <param name='htw'>
        /// The <see cref="Html32TextWriter"/> to write the content to.
        /// </param>
        /// <param name='webpage'>
        /// The <see cref="IWebPage"/> to write to the <see cref="Html32TextWriter"/>.
        /// </param>
        private void WriteBody(Html32TextWriter htw, IWebPage webpage)
        {
            this.WriteMasthead (htw, webpage);
            htw.AddAttribute (HtmlTextWriterAttribute.Class, "container");
            htw.RenderBeginTag (HtmlTextWriterTag.Div);
            htw.RenderBeginTag (HtmlTextWriterTag.Hr);
            htw.RenderEndTag ();

            webpage.Render (this.device.Manager.ServerFolder, this, htw);

            this.WriteFooter (htw);
            htw.RenderEndTag ();
        }
Пример #22
0
        /// <summary>
        /// Popuplate properties from IWebPage data object.
        /// </summary>
        /// <param name="pageData"></param>
        public virtual void Populate(IWebPage pageData)
        {
            this.Title = pageData.Title;
            this.Description = pageData.Description;
            this.Keywords = pageData.Keywords;
            this.ImageUrl = pageData.ImageUrl;
            this.IconUrl = pageData.IconUrl;
            this.LinkTo = pageData.LinkTo;
            this.Target = pageData.Target;
            this.ViewData = pageData.ViewData;
            this.ViewName = pageData.ViewName;
            this.AllowAnonymous = pageData.AllowAnonymous;
            this.ShowInMenu = pageData.ShowInMenu;
            this.ShowInSitemap = pageData.ShowInSitemap;
            this.IsStatic = pageData.IsStatic;
            this.IsShared = pageData.IsShared;
            this.Locale = pageData.Locale;
            this.Slug = pageData.Slug;
            this.ViewMode = pageData.ViewMode;
            this.CssText = pageData.CssText;
            this.Scripts = pageData.Scripts;
            this.StartupScripts = pageData.StartupScripts;
            this.StyleSheets = pageData.StyleSheets;
            this.Dir = string.IsNullOrEmpty(pageData.Dir) ? "ltr" : pageData.Dir;

            if (!string.IsNullOrEmpty(this.ViewName) && this.ViewName.StartsWith("Layout", StringComparison.OrdinalIgnoreCase))
            {
                var formattedLayout = "~/views/dynamicUI/layouts/" + this.ViewName;
                if (!formattedLayout.EndsWith("cshtml", StringComparison.OrdinalIgnoreCase))
                    formattedLayout += ".cshtml";
                this.ViewName = formattedLayout;
            }
        }
Пример #23
0
 public PageActions(ISeleniumDriver webDriver, IWebPage webPage)
 {
     _webDriver = webDriver;
     _webPage   = webPage;
 }
        public bool Compile(string projectFile, string classFile, string kioskBackgroundName,
                            string rootNamespace, string mSBuildProjectDirectory, string webPhysicalFolder, string outputFullpath,
                            UInt32[] classIds, string[] classNames, string appName, string webJsFolder, string webJavaScriptFolder,
                            string webPhpFolder, string appCodeName, string pluginsFolder, string[] sessionVarNames, string[] sessionVarValues,
                            int sessionTimeoutMinutes, int sessionVarCount, bool webDebugMode, int webClientDebugLevel, int ajaxtimeout, bool debug)
        {
            _project               = new LimnorProject(projectFile);
            _rootNamespace         = rootNamespace;
            _outputFullpath        = outputFullpath;
            _classIdList           = classIds;
            _classNames            = classNames;
            _appName               = appName;
            _webJsFolder           = webJsFolder;
            _webPhysicalFolder     = webPhysicalFolder;
            _webJavaScriptFolder   = webJavaScriptFolder;
            _webPhpFolder          = webPhpFolder;
            _appCodeName           = appCodeName;
            _kioskBackgroundName   = kioskBackgroundName;
            _pluginsFolder         = pluginsFolder;
            _sessionVarNames       = sessionVarNames;
            _sessionVarValues      = sessionVarValues;
            _sessionTimeoutMinutes = sessionTimeoutMinutes;
            _sessionVarCount       = sessionVarCount;
            _webDebugMode          = webDebugMode;
            _webClientDebugLevel   = webClientDebugLevel;
            _ajaxtimeout           = ajaxtimeout;
            XmlDocument doc = new XmlDocument();

            doc.PreserveWhitespace = false;
            doc.Load(classFile);
            try
            {
                Type t = XmlUtil.GetLibTypeAttribute(doc.DocumentElement);
                _isForm = (typeof(Form).Equals(t) || t.IsSubclassOf(typeof(Form)));
                if (_project.ProjectType == EnumProjectType.Kiosk)
                {
                    if (typeof(LimnorKioskApp).Equals(t))
                    {
                        string bkname = kioskBackgroundName;
                        if (!string.IsNullOrEmpty(bkname))
                        {
                            XmlNode propNode = doc.DocumentElement.SelectSingleNode(string.Format(System.Globalization.CultureInfo.InvariantCulture,
                                                                                                  "{0}[@{1}='BackGroundType']", XmlTags.XML_PROPERTY, XmlTags.XMLATT_NAME));
                            if (propNode == null)
                            {
                                propNode = doc.CreateElement(XmlTags.XML_PROPERTY);
                                doc.DocumentElement.AppendChild(propNode);
                            }
                            propNode.InnerText = bkname;
                        }
                    }
                }
                else if (_project.ProjectType == EnumProjectType.WebAppAspx || _project.ProjectType == EnumProjectType.WebAppPhp)
                {
                    if (typeof(LimnorWebApp).IsAssignableFrom(t))
                    {
                        XmlNode wnNode = doc.DocumentElement.SelectSingleNode(string.Format(CultureInfo.InvariantCulture,
                                                                                            "{0}[@{1}='WebSiteName']", XmlTags.XML_PROPERTY, XmlTags.XMLATT_NAME));
                        if (wnNode != null)
                        {
                            string wn = wnNode.InnerText.Trim();
                            if (wn.StartsWith("$", StringComparison.Ordinal))
                            {
                                wn = XmlUtil.GetNameAttribute(doc.DocumentElement);
                                if (string.IsNullOrEmpty(wn))
                                {
                                    wn = string.Format(CultureInfo.InvariantCulture, "web_{0}", Guid.NewGuid().ToString("x", CultureInfo.InvariantCulture));
                                }
                                wnNode.InnerText = wn;
                                doc.Save(classFile);
                            }
                        }
                    }
                }
                //
                LogMessage("Creating handler: {0}", classFile);
                CodeCompiler cc  = new CodeCompiler(this, _project, doc, classFile, rootNamespace, mSBuildProjectDirectory, _appName, _kioskBackgroundName, debug);
                bool         bOK = true;
                LogMessage("Loading into handler: {0}", cc.ComponentFile);
                try
                {
                    bool b = cc.Load();
                    if (!b)
                    {
                        ArrayList errors = cc.Errors;
                        for (int j = 0; j < errors.Count; j++)
                        {
                            string    msg;
                            Exception e = errors[j] as Exception;
                            if (e != null)
                            {
                                msg = TraceLogClass.ExceptionMessage0(e);
                            }
                            else
                            {
                                msg = errors[j].ToString();
                            }
                            LogError(msg);
                        }
                        bOK = false;
                    }
                    else
                    {
                        _classId = cc.ClassData.ClassId;
                        if (cc.RootObject is LimnorApp)
                        {
                            _isApp = true;
                        }
                        LimnorWebApp wapp = cc.RootObject as LimnorWebApp;
                        if (wapp != null)
                        {
                            FormCompile frm = new FormCompile();
                            _startWebPageId = wapp.StartPageId;
                            try
                            {
                                bool newName;
                                frm.Show();
                                VirtualWebDir webSite = wapp.CreateWebSite(frm, out newName);
                                if (webSite != null)
                                {
                                }
                            }
                            catch (Exception err)
                            {
                                LogError("Cannot create website [{0}] for testing purpose. The web application is generated at [{1}]. You may copy the files in that folder to a website to test it. Error message:{2} Stack trace: {3}", wapp.WebSiteName, webPhysicalFolder, err.Message, err.StackTrace);
                            }
                            finally
                            {
                                frm.Close();
                                frm = null;
                            }
                        }
                        else
                        {
                            IWebPage wp = cc.RootObject as IWebPage;
                            if (wp != null)
                            {
                                _isWebPage = true;
                                _htmlFile  = cc.HtmlFile;
                            }
                        }
                        LogMessage("Loaded: {0}", cc.ComponentFile);
                    }
                }
                catch (Exception err0)
                {
                    string msg = TraceLogClass.ExceptionMessage0(err0);
                    LogError(msg);
                    LogMessage("Loading failed for {0}", cc.ComponentFile);
                    bOK = false;
                }
                if (bOK)
                {
                    IList <Guid> l = cc.ClassData.GetDatabaseConnectionsUsed();
                    if (l.Count > 0)
                    {
                        foreach (Guid g in l)
                        {
                            if (!_databaseConnectionIDs.Contains(g))
                            {
                                _databaseConnectionIDs.Add(g);
                            }
                        }
                    }
                    if (cc.UsePageNavigator())
                    {
                        _usePageNavigator = true;
                    }
                    if (cc.UseCopyProtection())
                    {
                        _useCopyProtection = true;
                    }
                    LogMessage("Compiling {0}", cc.ComponentFile);
                    try
                    {
                        //flush is trigged
                        bool b = cc.GenerateCodeFiles();
                        if (!b)
                        {
                            ArrayList errors = cc.Errors;
                            for (int j = 0; j < errors.Count; j++)
                            {
                                string    msg;
                                Exception e = errors[j] as Exception;
                                if (e != null)
                                {
                                    msg = TraceLogClass.ExceptionMessage0(e);
                                }
                                else
                                {
                                    msg = errors[j].ToString();
                                }
                                LogError(msg);
                            }
                            bOK = false;
                        }
                        else
                        {
                            //must do it before cleanup
                            List <IAppConfigConsumer> acs = cc.AppConfigConsumers;
                            if (acs != null && acs.Count > 0)
                            {
                                List <IAppConfigConsumer> appConsumers = new List <IAppConfigConsumer>();
                                foreach (IAppConfigConsumer ia in acs)
                                {
                                    bool bExist = false;
                                    foreach (IAppConfigConsumer ia0 in appConsumers)
                                    {
                                        if (ia0.IsSameConsumer(ia))
                                        {
                                            bExist = true;
                                            break;
                                        }
                                    }
                                    if (!bExist)
                                    {
                                        appConsumers.Add(ia);
                                    }
                                }
                                if (appConsumers.Count > 0)
                                {
                                    CompilerFolders folders = new CompilerFolders(mSBuildProjectDirectory);
                                    _appConfigFile = Path.Combine(folders.SourceFolder, "app.config");
                                    XmlDocument appCfg = new XmlDocument();
                                    XmlNode     cfgRoot;
                                    if (File.Exists(_appConfigFile))
                                    {
                                        appCfg.Load(_appConfigFile);
                                    }
                                    cfgRoot = appCfg.DocumentElement;
                                    if (cfgRoot == null)
                                    {
                                        cfgRoot = appCfg.CreateElement("configuration");
                                        appCfg.AppendChild(cfgRoot);
                                    }
                                    foreach (IAppConfigConsumer ia in appConsumers)
                                    {
                                        ia.MergeAppConfig(cfgRoot, _project.ProjectFolder, rootNamespace);
                                    }
                                    appCfg.Save(_appConfigFile);
                                }
                            }
                            if (cc.UseDatetimePicker)
                            {
                                _usedatetimepicker = true;
                            }
                            LogMessage("Compiled: {0}\r\n", cc.ComponentFile);
                        }
                    }
                    catch (Exception err0)
                    {
                        string msg = TraceLogClass.ExceptionMessage0(err0);
                        LogError(msg);
                        LogMessage("Compiling failed for {0}\r\n", cc.ComponentFile);
                        bOK = false;
                    }
                    finally
                    {
                        cc.Cleanup();
                    }
                }
                else
                {
                    cc.Cleanup();
                }
                if (bOK)
                {
                    Dictionary <string, Assembly> assemblyLocations = new Dictionary <string, Assembly>();
                    cc.FindReferenceLocations(assemblyLocations);
                    foreach (string s in assemblyLocations.Keys)
                    {
                        _assemblyLocations.Add(s);
                    }
                    addAssemblySupportFiles(assemblyLocations);
                    if (cc.IsWebService)
                    {
                        _isWebService = true;
                    }

                    _use32bit = cc.Report32Usage();
                    if (string.IsNullOrEmpty(_use32bit))
                    {
                        _use32bit = use32bitAssembly(assemblyLocations);
                    }
                    if (cc.UseResources || cc.UseResourcesX)
                    {
                        LogMessage("Use resources by {0}", cc.ComponentFile);
                        if (_project.ProjectType != EnumProjectType.WebAppPhp)
                        {
                            cc.GenerateResourceFile();
                        }
                        if (cc.UseResources)
                        {
                            _lstResxFiles.Add(cc.Resources);
                            _useResources = true;
                        }
                        if (cc.UseResourcesX)
                        {
                            _lstResxFiles.Add(cc.ResourcesX);
                            _useResourcesX = true;
                        }
                    }
                    else
                    {
                        LogMessage("Not use resources by {0}", cc.ComponentFile);
                    }
                    _lstSourceFiles.Add(cc.SourceFile);
                    if (cc.UseResourcesX)
                    {
                        _lstSourceFiles.Add(cc.SourceFileX);
                    }
                    if (cc.ResourceFiles != null)
                    {
                        _embededFiles = cc.ResourceFiles;
                    }
                }
                if (cc.ObjectType != null)
                {
                    _assemblyQualifiedTypeName = cc.ObjectType.AssemblyQualifiedName;
                    if (cc.ObjectType.Assembly != null)
                    {
                        _isBaseTypeInGAC  = cc.ObjectType.Assembly.GlobalAssemblyCache;
                        _assemblyLocation = cc.ObjectType.Assembly.Location;
                    }
                }
                _resourceFile  = cc.ResourceFile;
                _resourceFileX = cc.ResourceFileX;
                _sourceFile    = cc.SourceFile;
                _sourceFileX   = cc.SourceFileX;
                LogMessage("Finish compiling file :{0}", classFile);
                return(bOK);
            }
            catch (Exception err)
            {
                LogError(err);
            }
            return(false);
        }
Пример #25
0
 public LoginPage(IWebPage webPage, IPageActions pageActions)
 {
     WebPage      = webPage;
     _pageActions = pageActions;
 }
 public void MyTestInitialize()
 {
     var path = @"c:\browsers2";
     _driverBrowser = FactoryObjects<SeleniumWebFactory>.FactoryBrowser("chrome",String.Empty,path);
     _pages = FactoryObjects<SeleniumWebFactory>.FactoryPage();
     _pages.SetBaseURl("http://drhunet.edunet.sp.gov.br/portalnet");
 }
Пример #27
0
 /// <summary>
 /// Writes the navigation bar to the given <see cref="Html32TextWriter"/>.
 /// </summary>
 /// <param name='htw'>
 /// The <see cref="Html32TextWriter"/> to write the content to.
 /// </param>
 /// <param name='webpage'>
 /// The webpage that is currently displayed. This is needed to denote the current page.
 /// </param>
 private void WriteMasthead(Html32TextWriter htw, IWebPage webpage)
 {
     INavbar navbar = this.device.Navigationbar;
     htw.AddAttribute (HtmlTextWriterAttribute.Class, "navbar navbar-default navbar-fixed-top");
     htw.AddAttribute ("role", "navigation");
     htw.RenderBeginTag (HtmlTextWriterTag.Div);
     {
         htw.AddAttribute (HtmlTextWriterAttribute.Class, "container-fluid");
         htw.RenderBeginTag (HtmlTextWriterTag.Div);
         {
             htw.AddAttribute (HtmlTextWriterAttribute.Class, "navbar-header");
             htw.RenderBeginTag (HtmlTextWriterTag.Div);
             {
                 htw.AddAttribute (HtmlTextWriterAttribute.Class, "navbar-brand");
                 htw.AddAttribute (HtmlTextWriterAttribute.Href, "#");
                 htw.RenderBeginTag (HtmlTextWriterTag.A);
                 {
                     htw.Write (navbar.Name);
                 }
                 htw.RenderEndTag ();
             }
             htw.RenderEndTag ();
             htw.AddAttribute (HtmlTextWriterAttribute.Class, "navbar-collapse collapse");
             htw.RenderBeginTag (HtmlTextWriterTag.Div);
             {
                 htw.AddAttribute (HtmlTextWriterAttribute.Class, "nav navbar-nav");
                 htw.RenderBeginTag (HtmlTextWriterTag.Ul);
                 {
                     foreach (IWebPage wp in navbar.Pages) {
                         if (wp == webpage) {
                             htw.AddAttribute (HtmlTextWriterAttribute.Class, "active");
                         }
                         htw.RenderBeginTag (HtmlTextWriterTag.Li);
                         htw.AddAttribute (HtmlTextWriterAttribute.Href, wp.Href);
                         htw.RenderBeginTag (HtmlTextWriterTag.A);
                         htw.Write (wp.Name);
                         htw.RenderEndTag ();
                         htw.RenderEndTag ();
                     }
                 }
                 htw.RenderEndTag ();
             }
             htw.RenderEndTag ();
         }
         htw.RenderEndTag ();
     }
     htw.RenderEndTag ();
 }
Пример #28
0
 private IWebPage NavigateToPage(IWebPage page, string queryString = null)
 {
     driver.Navigate().GoToUrl(new Uri(baseAddress, $"{((IHaveRelativePath)page).RelativePath}{(queryString == null ? "" : $"?{queryString}")}"));
Пример #29
0
 public void Navigate(IWebPage FromPage)
 {
 }
 public HtmlDocument Convert(IWebPage webPage)
 {
     var getHtmlWeb = new HtmlWeb();
     return getHtmlWeb.Load(webPage.Uri.OriginalString);
 }
Пример #31
0
 public void NavigateToPage(IWebPage page)
 {
     page.NavigateToCurrentPage();
 }
 public void GivenIHaveLoadedThePage(string pageName)
 {
     page = PageFactory.GetPage(driver, pageName);
     page.Load();
 }
Пример #33
0
        public WebSiteContextBuilder AddDocumentHelper(IWebPage helper)
        {
            _context.WebPage = helper;

            return(this);
        }
Пример #34
0
 private IEnumerable<IConversionLogicsForWebPage> GetRuleForPages(IWebPage webPage)
 {
     //from conversion rules select the rule that has the same id as the page
     return WebConversionRules.Where(item => item.Id == webPage.Id);
 }
Пример #35
0
 public LocalFile(IWebPage webPage, string path)
 {
     this.webPage = webPage;
     this.path    = path;
     webPage.DownloadPage(path);
 }