自动化测试(IDEA+Java+Selenium+testng)(Action类)

Actions类

背景:
平时我们在做自动化过程中可能需要模拟鼠标、键盘等的一些行为,例如鼠标单击,双击,右键,而且很多web 应用可能存在快捷组合键等等。那么可以用WebDriver中提供了Actions类来处理这类需求,更复杂的键盘鼠标处理我们可以通过Java提供的Robot类解决。

1、在元素上鼠标右击和双击

    //右击和双击
    public void rightClickTest(){
        driver.get("http://www.baidu.com");
        WebElement rightclick = driver.findElement(By.id("su"));
        //右击操作用到Action类
        Actions actions = new Actions(driver);
        actions.contextClick(rightclick).perform(); //右击某个元素,如果不传的话默认左上角
        actions.doubleClick().build().perform(); //双击,如果不写build也是可以的
    }

2、鼠标移动到某个元素上

在这里插入图片描述

3、把元素拖动到(x,y)

在这里插入图片描述

4、把元素拖动到另一个元素上

    public void dropTest1() {
        //鼠标拖拽操作
        driver.get("file:///G:/java+selenium/dragAndDrop.html");
        WebElement element1 = driver.findElement(By.id("drag"));
        WebElement element2 = driver.findElement(By.linkText("banban"));
        Actions actions=new Actions(driver);
        //按住元素1,然后拖到到元素2,再释放元素1,执行
        actions.clickAndHold(element1).moveToElement(element2).release(element1).perform();
    }

5、下拉框多选

在这里插入图片描述

  public void moreSelectTest() {
        //下拉框多选
        driver.get("file:///G:/java+selenium/index.html");
        WebElement element = driver.findElement(By.id("selectWithMultipleEqualsMultiple"));
        List<WebElement> list=element.findElements(By.tagName("option"));
        Actions actions=new Actions(driver);
        //按住shift键,点击第二个和第四个来执行
        actions.keyDown(Keys.SHIFT).click(list.get(0)).click(list.get(3)).keyUp(Keys.SHIFT).perform();
        //按住control选第二个和第四个
        actions.keyDown(Keys.CONTROL).click(list.get(1)).click(list.get(3)).keyUp(Keys.CONTROL).perform();
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值