public void CanGetPageElementCollection() { //Setup var destFolderName = "PageObject"; var destFolder = Path.Combine( FileAndFolder.GetExecutionDirectory(), SolutionFolders.Resources.ToString(), SolutionFolders.Resources.ToString(), destFolderName ); if (!Directory.Exists(destFolder)) { Directory.CreateDirectory(destFolder); } var exePath = FileAndFolder.GetProjectPath(); var filePath = Path.Combine(exePath, "DevTests", SolutionFolders.Resources.ToString()); FileAndFolder.CopyFile(FileName, filePath, FileName, destFolder); // instanciate var pageElement = new PageElement(); var folderStructure = new string[] { SolutionFolders.Resources.ToString(), SolutionFolders.Resources.ToString(), destFolderName }; var pageElementCollection = pageElement.GetPageElementsFromExccelFile(FileName, folderStructure); // Assert Assert.IsTrue(pageElementCollection.Count == 3); // Tear Down File.Delete(Path.Combine(destFolder, FileName)); Directory.Delete(destFolder); }
public SvgClipPathPageElement(PageElement child, SvgClipPathElement clipPath, SvgMatrix clipPathParentTransform, PdfSpotColor spotColorOverride) { _spotColorOverride = spotColorOverride; _child = child ?? throw new ArgumentNullException(nameof(child)); _clipPath = clipPath ?? throw new ArgumentNullException(nameof(clipPath)); _clipPathParentTransform = clipPathParentTransform ?? throw new ArgumentNullException(nameof(clipPathParentTransform)); }
public static void Input2 <TModel, TProperty>( this PageElement <TModel> page, Expression <Func <TModel, TProperty> > property, string value) { var inputId = page.Nav.Naming.Input(property); var input = page.Nav.FindOne(By.Id(inputId)).Element(); if (input.GetAttribute("type").Equals("text") || input.GetAttribute("type").Equals("password")) { // Logger.LogDebug($@"Input {by}: ""{value}"""); input.Clear(); input.SendKeys(value); } if (input.TagName.Equals("textarea")) { // Logger.LogDebug($@"TextArea {by}: ""{value}"""); input.Clear(); input.SendKeys(value); } else if (input.GetAttribute("type").Equals("select-one")) { // Logger.LogDebug($@"Select {by}: ""{input}"""); var selectElement = new SelectElement(input); selectElement.SelectByText(value); } }
public Address Insert(T element) { for (int i = 0; i < Pages.Length; i++) { if (Pages[i] == null) { Pages[i] = new PageElement { Element = element, index = 0, Next = null }; return(new Address { Page = i, Line = 0 }); } else if (!IsFull(Pages[i])) { Pages[i] = new PageElement { Element = element, index = Pages[i].index + 1, Next = Pages[i] }; return(new Address { Page = i, Line = Pages[i].index }); } } throw new Exception("PageTable is full"); }
public void Contains_With_By_True() { SetUp(); var parentElement = new PageElement(By.Id("div1")); Assert.IsTrue(parentElement.Contains(By.Id("p2"))); }
public string GetPageElementImageUrl(long Id, PageElement element, string login) { Paths paths = GetLoginImagePaths(login); if (paths == null) { return(null); } paths.Absolute = Path.Combine(paths.Absolute, element.ToString()); if (!Directory.Exists(paths.Absolute)) { return(null); } List <string> files = Directory.GetFiles(paths.Absolute, Id.ToString() + ".*", SearchOption.TopDirectoryOnly).ToList(); files.AddRange(Directory.GetFiles(paths.Absolute, Id.ToString() + "_.*", SearchOption.TopDirectoryOnly)); if (!files.Any()) { return(null); } paths.Relative = Path.Combine(paths.Relative, element.ToString()); string result = Path.Combine(paths.Relative, Path.GetFileName(files[0])); result = result.Replace('\\', '/'); return(result); }
public static void CurrentElementContainsTextСaseSensitive(string textAlias) { PageElement element = ScenarioContext.Current.Element(); string text = Alias.ResolveAsString(textAlias); StringAssert.Contains(element.TextAsLine, text, string.Format("Текущий элемент не содержит текст '{0}'. Текст элемента: '{1}'", text, element.TextAsLine)); }
public PageElement this[ModalCols column] { get { if (_columnMap == null) { InitColumnMap(); } int columnIndex = 0; PageElement pageElement = null; try { columnIndex = _columnMap[column]; } catch (KeyNotFoundException) { throw new InvalidOperationException("Index was not found for: " + column); } try { pageElement = this[columnIndex]; } catch (KeyNotFoundException) { throw new InvalidOperationException("Page Element was not found for: " + column); } return(pageElement); } }
public void Contains_With_By_False() { SetUp(); var parentElement = new PageElement(By.TagName("h1")); Assert.IsFalse(parentElement.Contains(By.Id("p2"))); }
protected static bool IsElementVisible(PageElement pageElement, TimeSpan?maxWaitTime = null) { pageElement.GoToFrame(); return(SeleniumUtility .WebDriverWait(ExpectedConditions.ElementIsVisible(pageElement.Locator), maxWaitTime ?? Default5Seconds) .Displayed); }
public void GetRowByRowData() { Assert.IsTrue(File.Exists(Path.Combine(_filePath, FileName))); // copy file _destFolder = Path.Combine( FileAndFolder.GetExecutionDirectory(), SolutionFolders.Resources.ToString(), SolutionFolders.Resources.ToString(), "HomePageLocator" ); if (!Directory.Exists(_destFolder)) { Directory.CreateDirectory(_destFolder); } FileAndFolder.CopyFile(FileName, _filePath, FileName, _destFolder); _destFile = Path.Combine(_destFolder, FileName); Assert.IsTrue(File.Exists(_destFile)); var allObjects = _excel.GetExcelFileObjects(_destFile); var rows = allObjects.GetLength(0); //var columns = allObjects.GetLength(1); for (var r = 1; r < rows; r++) { var pageObject = new PageElement { Name = allObjects.GetValue(r, 0).ToString(), By = allObjects.GetValue(r, 1).ToString(), Query = allObjects.GetValue(r, 2).ToString(), }; Console.WriteLine(pageObject); Assert.NotNull(pageObject); } }
public async Task <IActionResult> Create( [Bind("Name, Type, PageID")] PageElement pageElement) { try { if (ModelState.IsValid) { var parentPage = await _context.Pages .Include(p => p.PageElements) .SingleOrDefaultAsync(p => p.ID == pageElement.PageID); var sortOrderNum = parentPage.PageElements.Count; pageElement.SortOrder = sortOrderNum; _context.Add(pageElement); await _context.SaveChangesAsync(); return(RedirectToAction("Edit", "Page", new { id = pageElement.PageID })); } } catch (DbUpdateException /* ex */) { //Log the error (uncomment ex variable name and write a log. ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); } return(View(pageElement)); }
protected static void Click(PageElement pageElement, TimeSpan?maxWaitTime = null) { pageElement.GoToFrame(); SeleniumUtility .WebDriverWait( ExpectedConditions.ElementToBeClickable(SeleniumDriver.Driver.FindElement(pageElement.Locator)), maxWaitTime).Click(); }
private List<ILinkElement> GetReferencingLinks() { const string LIST_REFERENCES = @"<REFERENCE action=""list"" guid=""{0}"" />"; XmlDocument xmlDoc = Project.ExecuteRQL(LIST_REFERENCES.RQLFormat(this), RqlType.SessionKeyInProject); return (from XmlElement curLink in xmlDoc.GetElementsByTagName("LINK") select (ILinkElement) PageElement.CreateElement(Project, curLink.GetGuid(), LanguageVariant)).ToList(); }
public void IsPresent_Simple_False() { SetUp(); var element = new PageElement(By.TagName("nasdfav")); Assert.IsFalse(element.IsPresent()); }
public static void MoveCursorToElement(string alias) { PageElement element = PageElementCore.GetElementByAlias(alias); ScenarioContext.Current.SetElement(element); element.MoveMouseTo(0, 0); }
public static void ClearElement(string alias) { PageElement element = PageElement.GetElementByAlias(alias); ScenarioContext.Current.SetElement(element); element.Clear(); }
public void PageElement_Ctor_With_ContextBy() { SetUp(); IWebElement expectedElement = Driver.FindElement(By.Id("p2")); PageElement resultElement = new PageElement(By.Id("div1"), By.TagName("p")); Assert.AreEqual(expectedElement, resultElement.BaseElement); }
public static void EnterTextToCurrentElement(string textAlias) { PageElement currentElement = ScenarioContext.Current.Element(); string text = Alias.ResolveAsString(textAlias); currentElement.Clear(); currentElement.TypeText(text); }
public void PageElement_Ctor_No_Context() { SetUp(); IWebElement expectedElement = Driver.FindElement(By.TagName("nav")); PageElement resultElement = new PageElement(By.TagName("nav")); Assert.AreEqual(expectedElement, resultElement.BaseElement); }
public bool SavePage(PageElementDetailList pageElementDetailList, string username) { var userId = 0; var users = _db.Users.Where(m => m.UserName.Equals(username)).ToList(); for (var i = 0; i < users.Count(); i++) { if (users[i] != null) { userId = users[i].UserId; var id = userId; var pageSetups = _db.PageSetups.Where(ps => ps.UserID == id); foreach (var pageSetup in pageSetups) { //_db.PageSetups.Remove(pageSetup); } } } if (userId > 0) { var newPageSetup = new PageSetup { UserID = userId, PageURL = pageElementDetailList.PageUrl, Name = pageElementDetailList.Name }; _db.PageSetups.Add(newPageSetup); _db.SaveChanges(); foreach (var ped in pageElementDetailList.PageElementDetails) { if (ped.ReportId > 0) { var report = _db.ReportTemplates.Single(m => m.ReportID == ped.ReportId); var pageElement = new PageElement { PageSetupID = newPageSetup.PageSetupID, FrameID = ped.FrameId, ElementLeft = ped.Left, ElementTop = ped.Top, ReportID = ped.ReportId, Width = ped.Width, Height = ped.Height, Title = report.Name }; _db.PageElements.Add(pageElement); } } _db.SaveChanges(); } _db.SaveChanges(); return(true); }
protected static void ClickMultipleElements(PageElement pageElement) { pageElement.GoToFrame(); foreach (var element in SeleniumDriver.Driver.FindElements(pageElement.Locator)) { SeleniumUtility.WebDriverWait(ExpectedConditions.ElementToBeClickable(element), Default5Seconds) .Click(); } }
protected static void RightClick(PageElement pageElement, TimeSpan?maxWaitTime = null) { pageElement.GoToFrame(); var actions = new OpenQA.Selenium.Interactions.Actions(SeleniumDriver.Driver); actions.ContextClick(SeleniumUtility.WebDriverWait(ExpectedConditions.ElementIsVisible(pageElement.Locator), maxWaitTime ?? Default5Seconds)).Build().Perform(); }
public static void ElementContainsTextСaseSensitive(string alias, string textAlias) { PageElement element = PageElement.GetElementByAlias(alias); ScenarioContext.Current.SetElement(element); string text = Alias.ResolveAsString(textAlias); StringAssert.Contains(element.TextAsLine, text, string.Format("Элемент '{0}' не содержит текст '{1}'. Текст элемента: '{2}'", alias, text, element.TextAsLine)); }
public static void CurrentElementTextMatchRegex(string patternAlias) { PageElement element = ScenarioContext.Current.Element(); string pattern = Alias.ResolveAsString(patternAlias); Regex regex = new Regex(pattern); Assert.IsTrue(regex.IsMatch(element.TextAsLine), string.Format("Текст в текущем элементе не совпадает с шаблоном '{0}'. Текст элемента: '{1}'", pattern, element.TextAsLine)); }
public static void EnterTextToInput(string textAlias, string alias) { PageElement element = PageElement.GetElementByAlias(alias); ScenarioContext.Current.SetElement(element); string text = Alias.ResolveAsString(textAlias); element.Clear(); element.TypeText(text); }
public static void FormFor <TModel>(this PageElement page, string id, Action <PageElement <TModel> > action) { var formId = page.Nav.Naming.Id(typeof(TModel)); var by = id.NotEmpty() ? By.Id(id) : By.CssSelector($"[data-for='{formId}']"); page.Nav.Logger.LogDebug($"Form {by}"); page.Within(by, action); }
public static void ElementsExistInPage(Table elements) { foreach (TableRow elementRow in elements.Rows) { string elementAlias = elementRow[0]; PageElement element = PageElement.GetElementByAlias(elementAlias); Assert.IsTrue(element.IsDisplayed, string.Format("Элемент (xPath: {0}) не найден на странице.", element.XPath)); } }
protected static void DoubleClick(PageElement pageElement, TimeSpan?maxWaitTime = null) { if (IsElementVisible(pageElement, maxWaitTime ?? Default5Seconds)) { pageElement.GoToFrame(); new OpenQA.Selenium.Interactions.Actions(SeleniumDriver.Driver) .DoubleClick(SeleniumDriver.Driver.FindElement(pageElement.Locator)).Build() .Perform(); } }
public static void ElementTextMatchRegex(string alias, string patternAlias) { PageElement element = PageElement.GetElementByAlias(alias); ScenarioContext.Current.SetElement(element); string pattern = Alias.ResolveAsString(patternAlias); Regex regex = new Regex(pattern); Assert.IsTrue(regex.IsMatch(element.TextAsLine), string.Format("Текст в элементе '{0}' не совпадает с шаблоном '{1}'. Текст элемента: '{2}'", alias, pattern, element.TextAsLine)); }
protected void Page_Load(object sender, EventArgs e) { try { strIdentify = Session["isLogin"].ToString(); } catch (Exception ex) { if(strIdentify!="identified ") Response.Redirect("/subject/edit/LoginFail.html"); }; String path=System.Web.HttpUtility.UrlDecode(Request["file"]); if (path != null) { fullPath = Server.MapPath("/subject" + "/" + path + "/"); try { PageElement page = new PageElement(path, fullPath); if (!page.isSucess) { Response.Write("<script>alert('意外错误!详细:" + page.exception + "')</script>"); } fileName = page.fileName; title = page.title; keywords = page.keywords; description = page.description; defaultCss = page.defaultCss; mainImgRepeater = page.mainImgRepeater; footScript = page.footScript; cssLinks = page.cssLinksString; } catch (Exception ex) { Response.Write("<script>alert('意外错误!详细:" + ex + "')</script>"); } } else { Response.Write("<script>alert('参数错误')</script>"); } }
protected void Page_Load(object sender, EventArgs e) { try { strIdentify = Session["isLogin"].ToString(); } catch (Exception ex) { if(strIdentify!="identified ") Response.Redirect("/subject/edit/LoginFail.html"); }; path = System.Web.HttpUtility.UrlDecode(Request["file"]); if (path != null) { path = System.Web.HttpUtility.UrlDecode(Request["file"]); fullPath = Server.MapPath("/subject/" + path + "/"); PageElement page = new PageElement(path, fullPath); if (!page.isSucess) { Response.Write("<script>alert('意外错误!详细:" + page.exception + "')</script>"); } FileName.Disabled = true; Match m=Regex.Match(page.fileName,@"(\d{6})_(\S+)"); if (m.Success) { dayName = m.Groups[1].Value; FileName.Value = m.Groups[2].Value; } else { dayName = "000000"; FileName.Value = "读取发生错误!"; } Button1.Text = "完成修改"; } else { dayName = DateTime.Now.ToString("yyMMdd"); Button1.Text = "生成文件"; } }
public TableElement(string tableId) { table = new PageElement(tableId); }