Selenium 总结篇-常见方法和页面元素的操作

发表于:2018-6-15 12:04

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

 作者:young    来源:博客园

       今天,总结一下selenium怎么操作web页面常见的元素。主要有:
  上传
  1.alter dialog
  2.prompt dialog
  3.confirm dialog
  4.select list
  5.radio box
  6.input box
  7.checkBox
  测试页面如下:
   
     selenium 最核心的技巧是WebElement的识别和定位,selenium总共有八种定位方法
  1.By.id()  通过id定位
  2.By.name()  通过name 定位
  3.By.xpath() 通过xpath定位
  4.By.className() 通过className定位
  5.By.cssSelector() 通过CSS 定位
  6.By.linkText() 通过linkText
  7.By.tagName() 通过tagName
  8.By.partialLinkText() 通过匹到的部分linkText
  目前,使用比较多的是cssSelector和xpath,因为一个页面中Id name className tagName LinkText等比较容易重复 不容易 确定唯一
  接下来会有具体的例子来演示如何定位
  上传文件
  一般,上传页面如果是input,像这样的,可以使用sendkeys
   
  首先,这里使用xpath定位到该元素,然后使用sendKeys即可,sendKeys send你要上传的文件的绝对路径
  1 //td/input[@type='file']
  也可以使用cssSelector,关于xpath和cssSelector更多知识,以后会做一些专题
  1 td>input[type='file']
  如何验证你写的xptah/cssSelector是正确的呢?
  有以下几种方法:
  F12 ,使用浏览器的console  ,xpath使用$x()  function,css使用    $() function
   
  使用第三方插件firebug
  使用selenium IDE
  alert对话框
  细分三种,Alert,prompt,confirm
  Selenium有以下方法:
Alert alert =driver.switchTo().alert();
  1. driver.switchTo().alert();  获取alert
  2. alert.accept(); 点确定
  3. alert.dismiss(); 点取消
  4. alert.getText();获取alert的内容
  select菜单
  select也是比较常见的,selenium封装了以下方法
  创建select 
WebElement selector = driver.findElement(By.id("Selector"));
Select select = new Select(selector);
  选择select的option有以下三种方法
  1.selectByIndex(int index) 通过index
  2.selectByVisibleText(String text) 通过匹配到的可见字符
  3.selectByValue(String value) 通过匹配到标签里的value
WebElement selector = driver.findElement(By.id("Selector"));
Select select = new Select(selector);
select.selectByIndex(3);
select.selectByVisibleText("桃子");
select.selectByValue("apple");
  输入框
  输入框就比较简单了,不再多说
  sendKeys()输入内容
  clear()  清空
  单选框(RadioBox)
  单选框可以有获取状态,是否被选中
radioBox.isSelected();
  是否enable
radioBox.isEnabled()
  使用click方法选中
  复选框(checkBox)
  复选框和单选框基本差不多,此处略
  超链接
  超链接比较常见,一般都是标签a
Copyright 2015 to be crazy 
  一般使用click方法
  这里我们了解一下浏览器打开超链接时,如果是chrome,点超链接的同时按下Ctrl会打开新标签,按下shift会打开新窗口
  这里单讲一下不同窗口切换.
  selenium有两个关于获取窗口的方法:
  1. driver.getWindowHandle();  返回的是字符串,获取当前窗口的句柄
  2. driver.getWindowHandles(); 返回的是 Set<String> ,获取所有窗口
  如果你想在窗口之间切换
 driver.switchTo().window(window);
  小技巧: 如何滚动到你定位的元素
  这里使用java script
// scroll to mylink
JavascriptExecutor scroll = (JavascriptExecutor) driver;
scroll.executeScript("arguments[0].scrollIntoView();", myLink);
  接下来是所有测试代码:

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号