• Selenium Basic Knowledge


    Selenium Basic Knowledge

    Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。

    Simon Stewart(来自 Google)创建的 WebDriver 是一个具有类似目标的项目。要控制浏览器,需要依赖采用本机支持的独立客户端。WebDriver 仅提供 Java 绑定,并不能支持 Selenium 1 所能支持的那么多浏览器。

    Selenium 2 具有来自 WebDriver 的清晰面向对象 API,并能以最佳的方式与浏览器进行交互。Selenium 2 不使用 JavaScript 沙盒,它支持多种浏览器和多语言绑定。

    Selenium2.0 = Selenium1.0 + WebDriver

    WebDriver Server起翻译作用,使code与浏览器互相通信:

    Server开启一个浏览器时,会监听一个端口。Http://localhost:5555

    Preparation

    WebDriver.dll

    WebDriver.Support.dll

    IEDriverServer.exe

    chromedriver.exe

    (FireFox完美支持)

    using OpenQA.Selenium;

    using OpenQA.Selenium.Support;

    using OpenQA.Selenium.IE;

    using OpenQA.Selenium.Interactions;(Actions->MoveToElement(); ContextClick();

    DoubleClick())

    WebDriver.dll Selenium 2.0的主要API文件;(IWebDriver; IWebElement;

    WebDriver.Support.dll WebDriver支持类,起辅助作用。其中包含一些HTML元素选择、条件等待、页面对象创建等的辅助类;(WebDriverWait

    选择浏览器

    IWebDriver driver = new InternetExplorerDriver();

    IWebDriver driver = new ChromeDriver();

    IWebDriver driver = new FirefoxDriver();

    浏览器导航对象

    driver.Navigate().GoToUrl("www.baidu.com");

    driver.Navigate().Back();

    driver.Navigate().Forward();

    driver.Navigate().Refresh();

    元素查找

    driver.FindElement(By.Id("id"));

    driver.FindElement(By.Name("name"));

    driver.FindElement(By.ClassName("classname"));

    driver.FindElement(By.LinkText("linktext"));

    driver.FindElement(By.TagName("tagname"));

    driver.FindElement(By.CssSelector("div.classname>div#login button:nth-child(1)")); 

    driver.FindElement(By.XPath("div.classname.login//div[class='classname']/button[1]"));

    属性选择器

    div[class*='azc-dockedballoon-info']

    input[class^='azc-input']

    选择器 W3School 描述

    [attribute] 用于选取带有指定属性的元素。

    [attribute=value] 用于选取带有指定属性和值的元素。

    [attribute~=value] 用于选取属性值中包含指定词汇的元素。

    [attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。

    [attribute^=value] 匹配属性值以指定值开头的每个元素。

    [attribute$=value] 匹配属性值以指定值结尾的每个元素。

    [attribute*=value] 匹配属性值中包含指定值的每个元素。

    弹出对话框的处理(可以使用UIAF

    driver.SwitchTo().Alert().Accept();

    driver.SwitchTo().Alert().Dismiss();

    浏览器多窗口处理

    IList<string> handles = driver.WindowHandles;

    driver.SwitchTo().Window(handles[0]);

    窗体控制 (可以使用UIAF)

    driver.Manage().Window.Position.X;

    driver.Manage().Window.Position.Y;

    driver.Manage().Window.Maximize();

    注意

    Browser zoom to 100%

    Internet Options Security Checked All

    iFrame 需要切

    Selenium 学习 官网文档:http://seleniumhq.org/docs/ 中文论坛:http://seleniumcn.cn/ 私房菜:http://www.cnblogs.com/hyddd/archive/2009/05/30/1492536.html

    书籍:《零成本实现Web自动化测试》

    Selenium 使用 WebDriver.dll download path: http://code.google.com/p/selenium/downloads/list IEDriverServer.exe download path: http://docs.seleniumhq.org/download/ 

    New Visual C#-> “Console Application”.

    New InternetExploreDriver(): 命令IE浏览器打开一个session; 以后的操作都使用这个session;

  • 相关阅读:
    架构原则
    基于DDD的Lean Framework
    Javascript 内核Bug
    Back
    Exercise:函数应用于排序
    Lesson5:函数简单应用(二)
    lesson4: 函数简单应用
    lesson3: While 语句简单应用
    range 和len的并用
    lesson2: Python:for语句简单应用
  • 原文地址:https://www.cnblogs.com/Tomliuxin/p/5825219.html
Copyright © 2020-2023  润新知