51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2692|回复: 3
打印 上一主题 下一主题

[转贴] selenium webdriver学习 13 – 如何利用Actions类模拟鼠标和键盘的操作

[复制链接]
  • TA的每日心情

    1720761397
  • 签到天数: 1 天

    连续签到: 1 天

    跳转到指定楼层
    1#
    发表于 2017-7-18 14:14:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    如何把一个元素拖放到另一个元素里面的时候,用到了一个Actions类。这一节主要分析一下这个Actions类。
    这个actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作。对于这些操作,使用perform()方法进行执行。
    actions类可以完成单一的操作,也可以完成几个操作的组合。
    单一的操作
    单一的操作是指鼠标和键盘的一个操作。如鼠标左键按下、弹起或输入一个字符串等。
    前面涉及到鼠标键盘操作的一些方法,都可以使用actions类中的方法实现,比如:click,sendkeys。
    CODE:
    1. <font size="4">WebElement  element = dr.findElement(By.id("test"));
    2. WebElement  element1 = dr.findElement(By.id("test1"));
    3. element.sendKeys("test");
    4. element1.click;</font>
    复制代码
    用Actions类就可以这样实现:
    CODE:
    1. <font size="4">//新建一个action
    2. Actions action=new Actions(driver);
    3. //操作
    4. WebElement element=dr.findElement(By.id("test"));
    5. WebElement element1=dr.findElement(By.id("su"));
    6. action.sendKeys(element,"test").perform();
    7. action.moveToElement(element1);
    8. action.click().perform();</font>
    复制代码
    看起来用Actions类实现click和sendKeys有点烦索
    组合操作
    组合操作就是几个动作连在一起进行操作。如对一个元素的拖放。
    CODE:
    1. <font size="4">(new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();<span style="background-color: rgb(255, 255, 255);"> </span></font>
    复制代码
    可以直接调用dragAndDrip()方法,也可以像下面濱示的一样把几个操作放一起实现
    CODE:
    1. <font size="4">Action dragAndDrop = builder.clickAndHold(someElement)
    2.        .moveToElement(otherElement)
    3.        .release(otherElement)
    4.        .build().perform();</font>
    复制代码
    其他鼠标或键盘操作方法可以具体看一下API里面的org.openqa.selenium.interactions.Actions类

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏2
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-27 10:48 , Processed in 0.061442 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表