zoukankan      html  css  js  c++  java
  • 4

    4.1 鼠标操作

    1). 鼠标左键点击

    Actions action = new Actions(driver);action.click();// 鼠标左键在当前停留的位置做单击操作 
    action.click(driver.findElement(By.name(element)))// 鼠标左键点击指定的元素
    actionClick.perform();        //perform时才会触发动作
    

    2). 鼠标右键点击

    Actions action = new Actions(driver); 
     action.contextClick();// 鼠标右键在当前停留的位置做单击操作 
    action.contextClick(driver.findElement(By.name(element)))// 鼠标右键点击指定的元素
    

    3). 鼠标双击

    Actions action = new Actions(driver); 
    action.doubleClick();// 鼠标在当前停留的位置做双击操作 
    action.doubleClick(driver.findElement(By.name(element)))// 鼠标双击指定的元素
    

    4). 鼠标拖拽动作

    Actions action = new Actions(driver); 
    // 鼠标拖拽动作,将 source 元素拖放到 target 元素的位置。
     action.dragAndDrop(source,target);
    // 鼠标拖拽动作,将 source 元素拖放到 (xOffset, yOffset) 位置,其中 xOffset 为横坐标,yOffset 为纵坐标。
    action.dragAndDropBy(source,xOffset,yOffset);
    
    //已经使用到了鼠标的组合动作,首先是鼠标点击并按住 (click-and-hold) source 元素,然后执行鼠标移动动作 (mouse move),
    //移动到 target 元素位置或者是 (xOffset, yOffset) 位置,再执行鼠标的释放动作 (mouse release)。所以上面的方法也可以拆分成以下的几个执行动作来完成:
    action.clickAndHold(source).moveToElement(target).perform(); 
     action.release();
    

    5). 鼠标悬停操作

    Actions action = new Actions(driver); 
    action.clickAndHold();// 鼠标悬停在当前位置,既点击并且不释放
    action.clickAndHold(onElement);// 鼠标悬停在 onElement 元素的位置
    

    6). 鼠标移动操作

    Actions action = new Actions(driver); 
     action.moveToElement(toElement);// 将鼠标移到 toElement 元素中点
    // 将鼠标移到元素 toElement 的 (xOffset, yOffset) 位置,
    //这里的 (xOffset, yOffset) 是以元素 toElement 的左上角为 (0,0) 开始的 (x, y) 坐标轴。
     action.moveToElement(toElement,xOffset,yOffset)
    // 以鼠标当前位置或者 (0,0) 为中心开始移动到 (xOffset, yOffset) 坐标轴
     action.moveByOffset(xOffset,yOffset);
    

    7). 释放鼠标

    Actions action = new Actions(driver); 
    action.release();// 释放鼠标
    

    4.2 键盘操作

    4.2.1 普通键-sendkeys

    Actions action = new Actions(driver); 
     action.sendKeys(Keys.TAB);// 模拟按下并释放 TAB 键
     action.sendKeys(Keys.SPACE);// 模拟按下并释放空格键
    /***
    针对某个元素发出某个键盘的按键操作,或者是输入操作,
    比如在 input 框中输入某个字符也可以使用这个方法。这个方法也可以拆分成:
    action.click(element).sendKeys(keysToSend)。
    */
     action.sendKeys(element,keysToSend);
    
    //上传文件应该使用webElement元素的sendKeys方法
    element.sendKeys(“C:\test\uploadfile\test.jpg”); 		//action.click会导致文件实际没有上传
    

    4.2.2 控制键(Ctrl/Alt)-keyDown-不释放

    Actions action = new Actions(driver); 
    action.keyDown(Keys.CONTROL);// 按下 Ctrl 键
    action.keyDown(Keys.SHIFT);// 按下 Shift 键
    action.keyDown(Key.ALT);// 按下 Alt 键
    action.keyUp(Keys.CONTROL);// 释放 Ctrl 键
    action.keyUp(Keys.SHIFT);// 释放 Shift 键
    action.keyUp(Keys.ALT);// 释放 Alt 键
    
    //关闭当前页面
    action.keyDown(Keys.ALT).keyDown(Keys.F4).keyUp(Keys.ALT).perform();
    //组合键 Ctrl+a
    action.keyDown(Keys.CONTROL).sednKeys(“a”).perform();
    

    4.3 批量上传文件

    public void test_mutilUploadFile() throws Exception { 
    		System.out.println("upload start"); 
            // 获取上传控件元素
    		WebElement uploadButton = driver.findElement(By.name("html5uploader")); 
    		// 构建上传文件路径,将需要上传的文件添加到 CharSequence 数组
    		CharSequence[] files = new CharSequence[5]; 
            files[0] = "C:\test\test1.txt"; 
            files[1] = "C:\test\test2.txt"; 
            files[2] = "C:\test\test3.txt"; 
            files[3] = "C:\test\test4.txt"; 
            files[4] = "C:\test\test5.txt"; 
            // 循环列出每支需要上传的文件路径,做单一上传动作
            for(CharSequence file: files){ 
    			uploadButton.sendKeys(file); 
            } 
            Thread.sleep(2000); 
    		System.out.println("upload end"); 
        }
    
  • 相关阅读:
    php-beanstalkd消息队列类分享
    php curl抓取类分享
    df -i 100%时处理方法
    php生成红包
    PHP牛牛游戏算法
    Yii 框架不同逻辑处理方法统一事务处理
    Linux上web服务器搭建
    Linux 上pcntl安装步骤
    PHP错误级别设置
    day40 ,epoll,数据库相关概念
  • 原文地址:https://www.cnblogs.com/Desneo/p/7345710.html
Copyright © 2011-2022 走看看