Selenium常见元素操作,学完就能上手

发表于:2023-1-16 09:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:博客园

  web自动化测试在回归测试、兼容测试扮演着举足轻重的角色,作为web自动化测试工程师,日常工作主要的部分就是编写自动化测试用例代码,借助的开源框架来说,目前市场占有率较高的仍然是selenium
  如何使用selenium完成web页面元素的定位和操作,是web自动化测试工程师用例代码中的主要工作,元素定位主要有8种,定位到元素后,需要做的就是元素行为的模拟,比如点击按钮元素、在文本框输入内容等等,如何使用selenium实现元素操作呢?以下列举常见的元素操作。
  右键目标元素
   WebElement element = driver.findElement(定位方式方法);
   //定义WebElement selenium元素对象
   Actions actions = new Actions(driver);
   //定义Actions selenium元素操作对象
   actions.contextClick(element).perform();
   // 通过actions对象触发鼠标右键点击
   Robot robot = new Robot();
   //定义Robot selenium键盘操作对象
   robot.keyPress(KeyEvent.VK_DOWN);
  // 通过robot按下方向键中的下键    
  robot.keyRelease(KeyEvent.VK_DOWN);
  // 通过robo松开方向下键
  Thread.sleep(1000L);
  robot.keyPress(KeyEvent.VK_ENTER);
  // 按下回车键 
  robot.keyRelease(KeyEvent.VK_ENTER);
  // 松开回车键
  输入框目标元素的清空输入
  WebElement element = driver.findElement(定位方式方法);
  //定义WebElement selenium元素对象
  element.clear();
   //将输入框清空
  element.sendKeys(“码同学测试”);
  //在输入框中输入内容  码同学测试
  element.getText();
  //获取输入框的文本内容:
  多选框目标元素的全部勾选
  List<WebElement> elements = driver.findElements(定位方式方法);
  //定义WebElement selenium元素对象集合
  for (int i = 0; i < elements.size(); i++) {
         elements.get(i).click(); //全部勾选多选框
  }
  多选框目标元素的随机勾选2个
   List<WebElement> elements = driver.findElements(定位方式方法);
   //定义WebElement selenium元素对象集合
   Set<Integer> set = new HashSet<>();
   //定义HashSet集合对象
   do{
         Random random = new Random();
        //定义Random对象
         int temp = random.nextInt(elements.size());
         //获取随机数
         set.add(temp);
       //将获取的随机数存到HashSet集合对象
   }while (set.size()<2);
   for (Integer integer : set) {
        elements.get(integer).click();//随机勾选2个多选选框
  }
  弹窗对话框目标元素的操作
   WebElement element = driver.findElement(定位方式方法);
   //定义WebElement selenium元素对象
   element.click();
    //元素点击触发弹窗对话框出现
   Alert alert = driver.switchTo().alert();
   //定义Alert selenium弹窗对象
   alert.accept();  
   //弹窗对话框点确定按钮
   alert.dismiss();  
  //弹窗对话框点取消按钮
  alert.sendKeys(“码同学测试”);
  //弹窗对话框中输入框输入  码同学测试
  浏览器基本操作以及鼠标操作
   System.setProperty("webdriver.chrome.driver", "webdrivers/chromedriver.exe");
   WebDriver driver = new ChromeDriver();
   //定义ChromeDriver对象
   driver.manage().window().maximize();
   //浏览器窗口最大化
   driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
   //设置隐式智能等待时间5秒
   driver.get("http://www.mtxhsop.com:3000/");
   //访问码同学商城网站首页
  driver.navigate().refresh();
  //刷新浏览器当前页面
  // 实例化actions类。调用doubleClick方法,双击目标元素
  WebElement element = driver.findElement(定位方式方法);
  //实例化WebElement对象,element该对象为双击目标对象
  Actions actions = new Actions(driver);
  // 实例化Actions类对象:actions,并将driver传给actions
  actions.doubleClick(day).perform();
  // 双击目标元素element
  // 调用moveToElement方法,把鼠标移动到目标元素上
  WebElement Qui = driver.findElement(定位方式方法);
  actions.moveToElement(Qui).perform();
  调用JS脚本
  WebDriver driver=new ChromeDriver();
  //定义ChromeDriver对象
  JavascriptExecutor js = (JavascriptExecutor) driver;
  //将ChromeDriver对象强转成JavascriptExecutor对象
  js.executeScript("JS脚本");
  //使用JavascriptExecutor对象调用JS脚本
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号