Selenium Web 自动化 - Selenium常用API

发表于:2018-10-12 10:39

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

 作者:明-Ming    来源:博客园

分享:
  3.5 单选项(Radio Button)
  WebElement radio=driver.findElement(By.id("BookMode"));
  radio.click();       //选择某个单选项
  radio.clear();      //清空某个单选项
  radio.isSelected();  //判断某个单选项是否已经被选择
  3.6 多选项(checkbox)
  WebElement checkbox = driver.findElement(By.id("myCheckbox."));
  checkbox.click();
  checkbox.clear();
  checkbox.isSelected();
  checkbox.isEnabled();
  3.7 按钮(button)
  WebElement btn= driver.findElement(By.id("save"));
  btn.click();      //点击按钮
  btn.isEnabled ();  //判断按钮是否enable
  3.8 处理Alert
  弹出对话框(Popup dialogs)
  Alert alert = driver.switchTo().alert();
  alert.accept();  //确定
  alert.dismiss();  //取消
  alert.getText(); //获取文本
  示例:
  private static void alertTest(WebDriver driver) throws InterruptedException {
  driver.get("http://www.w3school.com.cn/tiy/t.asp?f=hdom_alert");
  //浏览器最大化
  driver.manage().window().maximize();
  //进入frame
  driver.switchTo().frame("i");
  //找到按钮并点击按钮
  driver.findElement(By.xpath("//*[@value='显示消息框']")).click();
  Thread.sleep(2000);
  //获取Alert
  Alert a = driver.switchTo().alert();
  //打印出文本内容
  System.out.println(a.getText());
  //点击确定
  Thread.sleep(2000);
  a.accept();
  // 如果alert上有取消按钮,可以使用a.dismiss()代码
  }
  3.9 上传文件
  3.9.1 元素标签是Input时上传方式
  Upload.html文件内容如下:
  <body>
  <input type="file" id="fileControl" value="选择文件"/>
  </body>
  代码如下:
  private static void uploadTest1(WebDriver driver) throws InterruptedException {
  //打开上传的网页 - get中输入upload的地址
  driver.get("D:\\DownLoad\\UploadTest\\upload.html");
  WebElement e1 = driver.findElement(By.id("fileControl"));
  Thread.sleep(2000);
  //输入要上传文件的地址
  e1.sendKeys("D:\\DownLoad\\UploadTest\\被上传的文件.txt");
  Thread.sleep(2000);
  }
  3.9.2 通过操作桌面浏览窗口上传
  示例2 上传文件
  3.10 Selenium处理HTML5
  3.10.1 处理Vedio
  这就需要了解html5中vedio的相关方法了,可以参考http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp
  private static void html5VedioTest(WebDriver driver)
  throws InterruptedException {
  driver.get("http://videojs.com/");
  Thread.sleep(2000);
  //找到vedio元素
  WebElement vedio = driver.findElement(By.id("preview-player_html5_api"));
  //声明js执行器
  JavascriptExecutor js = (JavascriptExecutor) driver;
  //对vedio这个元素执行播放操作
  js.executeScript("arguments[0].play()", vedio);
  //为了观察效果暂停5秒
  Thread.sleep(5000);
  //对vedio这个元素执行暂停操作
  js.executeScript("arguments[0].pause()", vedio);
  //为了观察效果暂停2秒
  Thread.sleep(2000);
  //对vedio这个元素执行播放操作
  js.executeScript("arguments[0].play()", vedio);
  //为了观察效果暂停2秒
  Thread.sleep(2000);
  //对vedio这个元素执行重新加载视频的操作
  js.executeScript("arguments[0].load()", vedio);
  //为了观察效果暂停2秒
  Thread.sleep(
  3.10.2 处理Canvas
  private static void Html5CanvasTest(WebDriver driver)
  throws InterruptedException {
  driver.get("http://literallycanvas.com/");
  Thread.sleep(2000);
  //找到canvas元素
  WebElement canvas = driver.findElement(By.xpath("//*[@id='literally-canvas']//canvas[1]"));
  //声明一个操作类
  Actions drawPen = new Actions(driver);
  //点击并保持不放鼠标 ,按照给定的坐标点移动
  drawPen.clickAndHold(canvas).moveByOffset(20, 100).moveByOffset(100, 20).moveByOffset(-20, -100).moveByOffset(-100, -20).release().perform();
  Thread.sleep(2000);
  }
  3.11 表单(Form)
  //Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
  WebElement approve = driver.findElement(By.id("approve"));
  approve.click();
  //或
  approve.submit();//只适合于表单的提交

  4 其他

   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号