`
liujiekasini0312
  • 浏览: 147479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

selenium2(WebDriver) API

 
阅读更多

1.1下载selenium2.0的包

  1. 官方download包地址:http://code.google.com/p/selenium/downloads/list
  2. 官方User Guide:  http://seleniumhq.org/docs/
  3. 官方API:       http://selenium.googlecode.com/git/docs/api/java/index.html

1.2.1 用webdriver打开一个浏览器

  • 打开firefox浏览器:

    WebDriver driver = new FirefoxDriver();

  • 打开IE浏览器

     WebDriver driver = new InternetExplorerDriver ();

  • 打开HtmlUnit浏览器

    WebDriverdriver = new HtmlUnitDriver();

  • 打开chrome浏览器

       WebDriverdriver = new ChromeDriver();

1.2.2 最大化浏览器  

  WebDriver driver = new FirefoxDriver();
  driver.manage().window().maximize();

1.2.3 关闭浏览器 

WebDriver driver = new FirefoxDriver();

  •   driver.close();
  •   driver.quit();

1.3打开测试页面

  • driver.get("http://www.google.com");
  • driver.navigate().to("http://www.baidu.com/");

      P.S.navigate方法会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等

1.4 页面元素定位

Webdriver提供下面两种方法来定位页面元素,参数是By对像,最常用是By.id和By.name查找。

  • findElement   定位某个元素,如果没有找到元素会抛出异常:NoSuchElementException
  • findElements 定位一组元素

例如需要定位如下元素:

  <input class="input_class" type="text" name="passwd" id="passwd-id" />

  • By.id:

      WebElement element = driver.findElement(By.id("passwd-id"));

  • By.name:

      WebElement element = driver.findElement(By.name("passwd"));

  • By.xpath:

      WebElement element =driver.findElement(By.xpath("//input[@id='passwd-id']"));

  • By.className

      WebElement element = driver.findElement(By.className("input_class"));

  • By.cssSelector

      WebElement element = driver.findElement(By.cssSelector(".input_class"));

  • By.linkText:

      //通俗点就是精确查询

      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.baidu.com/");
      WebElement element = driver.findElement(By.linkText("百科"));

  • By.partialLinkText:

      //这个方法就是模糊查询
      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.baidu.com/");
      WebElement element = driver.findElement(By.partialLinkText("hao"));

  • By.tagName:

      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.baidu.com/");
      String test= driver.findElement(By.tagName("form")).getAttribute("name");
      System.out.println(test);

1.5如何对页面元素进行操作

1.5.1 输入框(text field or textarea)

WebElement element = driver.findElement(By.id("passwd-id"));

  • element.sendKeys(“test”);//在输入框中输入内容:
  • element.clear();     //将输入框清空
  • element.getText();   //获取输入框的文本内容:

1.5.2下拉选择框(Select)

Select select = new Select(driver.findElement(By.id("select")));

  • select.selectByVisibleText(“A”);
  • select.selectByValue(“1”);
  • select.deselectAll();
  • select.deselectByValue(“1”);
  • select.deselectByVisibleText(“A”);
  • select.getAllSelectedOptions();
  • select.getFirstSelectedOption();

1.5.3单选项(Radio Button)

WebElement radio=driver.findElement(By.id("BookMode"));

  • radio.click();     //选择某个单选项
  • radio.clear();     //清空某个单选项
  • radio.isSelected();  //判断某个单选项是否已经被选择

1.5.4多选项(checkbox)

WebElement checkbox = driver.findElement(By.id("myCheckbox."));

  • checkbox.click();
  • checkbox.clear();
  • checkbox.isSelected();
  • checkbox.isEnabled();

1.5.5按钮(button)

WebElement btn= driver.findElement(By.id("save"));

  • btn.click();      //点击按钮
  • btn.isEnabled ();  //判断按钮是否enable

1.5.7弹出对话框(Popup dialogs)

Alert alert = driver.switchTo().alert();

  • alert.accept();  //确定
  • alert.dismiss();  //取消
  • alert.getText(); //获取文本

1.5.8表单(Form)

  Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:

  WebElement approve = driver.findElement(By.id("approve"));

  approve.click();

  approve.submit();//只适合于表单的提交

1.5.9上传文件

上传文件的元素操作:

  WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));

  String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";

  adFileUpload.sendKeys(filePath);

1.6Windows 和 Frames之间的切换

  • driver.switchTo().defaultContent();     //返回到最顶层的frame/iframe
  • driver.switchTo().frame("leftFrame");    //切换到某个frame:
  • driver.switchTo().window("windowName"); //切换到某个window

1.7调用Java Script

Web driver对Java Script的调用是通过JavascriptExecutor来实现的,例如:

JavascriptExecutor js = (JavascriptExecutor) driver;

js.executeScript("JS脚本");

1.8 超时设置

WebDriver driver = new FirefoxDriver();

  • driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);     //识别元素时的超时时间
  • driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);  //页面加载时的超时时间
  • driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);  //异步脚本的超时时间
分享到:
评论

相关推荐

    selenium-webdriver-api文档

    **Selenium WebDriver API 文档详解** Selenium WebDriver 是一个用于自动化浏览器操作的API,它允许开发者编写代码来模拟用户在浏览器中的各种交互行为,如点击、输入文本、导航等。这个文档,`selenium-API-2.12....

    Selenium-WebDriverApi接口详解.py

    Selenium-WebDriverApi接口详解

    selenium3.0WebdriverApi的chm文档(python版)

    python版本的selenium3.0WebdriverApi的chm文档

    selenium-webdriver离线包.rar

    Selenium WebDriver API为开发者提供了与各种浏览器进行通信的接口。在TypeScript中,你需要先安装`selenium-webdriver`库,以便利用它的类型定义和函数。但是,在没有网络连接的情况下,常规的`npm install ...

    ruby+selenium-webdriver测试--第一个例子源代码

    同时,可以使用Capybara库,它提供了一种更加简洁的API来与Selenium配合使用,使得测试脚本更加易读。 在进行自动化测试时,还需要注意几个关键点: 1. 浏览器兼容性:确保测试覆盖了目标用户的常用浏览器。 2. ...

    Selenium-Webdriver系列教程

    Selenium-Webdriver系列教程旨在引导读者理解和掌握Selenium 2.0,即WebDriver的核心概念、常用方法和高级功能。Selenium 1.x虽然已被弃用,但由于丰富的资源和历史积累,仍然被许多人广泛使用。然而,随着Selenium ...

    selenium-WebDriver的API文档

    **Selenium WebDriver API 文档详解** Selenium 是一个强大的开源自动化测试工具,广泛应用于Web应用程序的测试。它的WebDriver API 提供了一种编程接口,允许测试人员通过多种编程语言(如Java、Python、C#等)...

    Selenium之WebDriverAPi2

    Python+selenium需要用到的chromedriver驱动,把它放在python 的安装目录下,即可 selenium的元素八大定位方法详解

    webDriverBackedExample:此示例代码构成Selenium 2 WebDriver API在线培训课程的一部分

    此示例代码构成Selenium 2 WebDriver API在线培训课程的一部分。 由于Selenium WebDriver项目已弃用Selenium API,因此我已将WebDriverBackedSelenium示例移至该单独的公共领域项目中。 这样可以防止在对课程源...

    Selenium.WebDriver.4.0.0-alpha02.nupkg

    Selenium WebDriver API, which uses native OS-level events to manipulate the browser, bypassing the JavaScript sandbox, and does not require the Selenium Server to automate the browser.

    ruby+selenium-webdriver测试源代码003

    2. **Selenium-Webdriver简介**: - Selenium是一个开源的自动化测试框架,支持多种编程语言,包括Ruby。 - Selenium-Webdriver是Selenium的一部分,它提供了直接与浏览器交互的能力,允许编写脚本来模拟用户的...

    selenium+webdriver+python自动化测试

    4. Selenium WebDriver API:通过学习Selenium WebDriver的API,可以了解如何使用Selenium WebDriver进行各种操作,包括但不限于页面元素的定位、用户输入、页面导航和错误处理等。比如,可以使用find_element_by_id...

    seleniumwebdriver(python)第三版.rar

    selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。selenium 是...

    selenium3.0 webdriver+python3.0实例参考

    WebDriver是Selenium的核心组件,它提供了一种API,允许程序员通过编程方式控制浏览器的行为,如点击、输入文本、导航等。WebDriver支持多种浏览器,如Chrome、Firefox、IE、Edge等,并且可以通过Python、Java、C#等...

    selenium2.44 webdriver

    2. **导入库**:在你的编程环境中导入Selenium WebDriver的相关库。 3. **创建FirefoxDriver实例**:通过调用`webdriver.Firefox()`方法创建一个新的Firefox浏览器实例。 4. **导航到URL**:使用`get()`方法导航到...

    selenium-webdriver-java api文档

    **Selenium WebDriver Java API 文档详解** Selenium WebDriver 是一个自动化测试工具,广泛用于Web应用程序的测试。它提供了一个编程接口(API),允许开发者用多种编程语言(包括Java)来控制浏览器并执行自动化...

    python版本selenium webdriver api

    Python版本的Selenium WebDriver API是用于自动化Web浏览器交互的强大工具,尤其在进行功能测试和UI自动化时非常实用。Selenium库支持多种编程语言,而Python是其中最受欢迎的一种,因为其语法简洁,易于学习,且...

    python+selenium+webdriver学习文档

    6. webdriver API:webdriver API是Selenium WebDriver中用于控制浏览器的一个编程接口,本书对webdriver API中元素定位和操作的知识点进行了深入的探讨。 7. 实例和思维模式:作者强调了通过实例学习的重要性,...

    Selenium WebDriver实战宝典(吴晓华)

    本书是一本从入门到精通模式的Selenium WebDriver实战经验分享书籍。全书共分为四个部分:第1部分基础篇主要讲解自动化测试相关的基础理论、WebDriver 环境安装、单元测试工具的使用方法以及 WebDrvier的入门使用...

    Selenium WebDriver实战(JAVA版本)

    selenium webdriver是web自动化的一本经典著作,吴老集合python java不同版本。本资源为java版本,内容较新,无论是入门还是提升都有很大帮助。

Global site tag (gtag.js) - Google Analytics