zoukankan      html  css  js  c++  java
  • WebDriver中的Actions对象

    我们可以利用Actions对象来模拟鼠标的操作以及页面的拖拽

    1、模拟鼠标的双击操作:

      1)模拟双击一个div,验证点击之前的字体为14号
      2)点击后字体为20号
      Actions builder = new Actions(driver); //new 出Actions对象
      builder.doubleClick(message).build().perform(); //对象后可以跟一系列的操作,要通过跟着build().perform()才能执行
    package com.example.tests;
    import static org.junit.Assert.*;
    import org.junit.*;
    import org.openqa.selenium.*;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.interactions.Actions;
    public class Selenium2 {
    WebDriver driver = new FirefoxDriver();
    @Test
    public void tableTest() {
    driver.get("D:\demo\DoubleClickDemo.html");
    WebElement message = driver.findElement(By.id("message"));
    //  验证初始字体为14px
    assertEquals("14px", message.getCssValue("font-size"));
    Actions builder = new Actions(driver);
    builder.doubleClick(message).build().perform();
    //  验证点击后字体变为20px
    assertEquals("20px", message.getCssValue("font-size"));
    driver.close();
    }
    }

    2、模拟拖拽:

    dragAndDrop(source, target)方法
    package com.example.tests;
    import static org.junit.Assert.*;
    import org.junit.*;
    import org.openqa.selenium.*;
    import org.openqa.selenium.ie.InternetExplorerDriver;
    import org.openqa.selenium.interactions.Actions;
    public class Selenium2 {
    @Test
    public void testDragDrop() {
    WebDriver driver = new InternetExplorerDriver();
    driver.get("D:\demo\DragAndDrop.html");
    WebElement source = driver.findElement(By.id("draggable"));
    WebElement target = driver.findElement(By.id("droppable"));
    Actions builder = new Actions(driver);
    builder.dragAndDrop(source, target).perform();
    try {
    assertEquals("Dropped!", target.getText());
    } catch (Error e) {
    e.printStackTrace();
    }finally{
    driver.close();
    }
    }
    }
  • 相关阅读:
    Discuz!NT代码阅读笔记(4)一切皆可配置:页面的显示
    WAP网站开发

    Discuz!NT代码阅读笔记(2)网站安装自动化论坛程序安装及初始化过程
    Discuz!NT代码阅读笔记(1)从HttpModule开始
    c#使用Transactions类完成多个数据库的事务操作(分布式事务处理)
    自我介绍 简历
    Discuz!NT 系统架构分析
    缓存应用Memcached分布式缓存简介(二)
    数组类型EDT的元素个数
  • 原文地址:https://www.cnblogs.com/sylovezp/p/4329820.html
Copyright © 2011-2022 走看看