Senium 2.0 通过webdriver提供的api完成各种验证操作
来源:互联网 发布:centos snmp 配置 编辑:程序博客网 时间:2024/06/09 14:17
webDriver实现了web应用各种元素的api,并支持js操作页面元素,比如下拉框,复选框,单选按钮等
一、通过webdriver提供的api完成各种验证操作
1、检查元素的属性值
使用getAttribute()完成
WebElement element = driver.findElement(By.id("logout"));
String alignStr = element.getAttribute("align");
assertEquals("right",alignStr);
使用getCssValue()方法获取css属性
WebElement element = driver.findElement(By.id("logout"));
String width = element.getCssValue("width");
assertEquals("100px",width);
2、检查元素文本值,getText()方法
WebElement element = driver.findElement(By.id("logout"));
String alignStr = element.getText();
assertEquals("退出",alignStr);
通过以上方法可以完成对某个元素是否出现在dom中,帮助我们完成对测试结果的判断,但此方法不太常用,由于某个元素没有出现的话,findElement方法会直接抛出异常,后边我会在测试流控制的文章给大家介绍如何完成测试结果的判断二、如何使用程序控制鼠标和键盘以完成交互操作
webdriver中提供了一个Actions类,帮助我们完成鼠标及键盘来相应事件
1、使用Actions完成一组操作,代码示例:
List<WebElement> table = driver.findElements(By.xpath("//table[@id,table_id]/tr"));
Actions builder = new Actions(driver);
builder.click(table.get(0)).keyDown(Keys.CONTROL).click(table.get(2)).keyUp(Keys.CONTROL).build().perform();
从示例中可以看出,通过Actions类构建一连串的操作,依次是,单击-》按下ctr键-》单击-》放开ctrl键 ,然后build(),最后执行定义的这一组操作
上边示例是用户在操作表格时,选择同时选中第一行到第三行表格数据的操作,大家可以根据场景需要,灵活变通,其实,就是不同事件的组合,另外需要注意的是,使用时要确保元素可见。
2、使用Actions完成双击操作
WebElement img = driver.findElement(By.id("img"));
Actions builder = new Actions(driver);
builder.doubleClick(img).build().perform();
3、执行拖拽操作,首先需要定位源元素及目的元素,以下是完成将img1拖动到img2的操作
WebElement img1 = driver.findElement(By.id("img1"));
WebElement img2 = driver.findElement(By.id("img2"));
Actions builder = new Actions(driver);
builder.dragAndDrop(img1,img2).perform();
4、调用js代码,
demo_1:使用js完成关闭当前页面
JavascriptExecutor js = (JavascriptExecutor)driver;
jsStr = "window.close()";
js.executeScript(jsStr);
demo_2:使用js得到当前页面标题
JavascriptExecutor js = (JavascriptExecutor)driver;
jsStr = "return document.title";
String title = (String)js.executeScript(jsStr);
5、使用webdriver截图,代码示例:
File img = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(img, new File("target/screenshot/i.jpg"));
6、常见页面控件的操作
FileUtils.copyFile(img, new File("target/screenshot/i.jpg"));
6、常见页面控件的操作
a. 下来框的操作,使用Select类操作,methods 在api中都有体现
b. 对于单选按钮,复选框,selenium中没有专门的类对其操作,对这两中元素使用WebElement中的
isSelected()
方法操作7、webdriver提供WindowsUtils类完成对windows的进程,注册表,系统目录的操作,详见api
- Senium 2.0 通过webdriver提供的api完成各种验证操作
- Senium 2.0 通过webdriver提供的api完成各种验证操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
- 【玩转SQLite系列】(四)通过Android提供的API操作SQLite数据库
- 【玩转SQLite系列】(四)通过Android提供的API操作SQLite数据库
- eclipse通过hdfs提供的api对hdfs进行文件操作
- WebDriver API详解-操作浏览器
- 通过redmine提供的api自动创建问题以方便与其他工具集成--------同事已验证过
- GCC提供的原子操作API
- 通过JDBC完成对数据库的操作
- selenium webdriver的各种driver
- selenium webdriver的各种driver
- selenium webdriver的各种driver
- selenium webdriver的各种driver
- 调试delphi服务进程
- 完美解决方案:Java生成复杂Word文档
- [转]TestFlight使用心得
- 做为一个程序员,你懂规矩吗?
- FFT结果的物理意义
- Senium 2.0 通过webdriver提供的api完成各种验证操作
- poj 2823 单调队列
- 内部命令VS外部命令
- 14.IO(三)【File】【Properties】【打印流PrintStream】【序列流SequenceInputStream】
- CF 354B - Game with Strings(状压+博弈)
- IDE, ATA, SCSI
- 高通平台短信复制到sim卡流程
- #R#R读取EXCEL文件方法
- linux常用操作命令