UI自动化
1.webdriver的findElement方法可以查找页面某元素,通常使用方式是通过id和name进行查找
1.By ID根据id进行定位
WebElement element=driver.findElement(By.id("id_name"));
2.By Name根据name进行定位
WebElemnet element=driver.findElement(By.name("name"));
3.By Xpath根据xpath定位
WebElement element=driver.fingElement(By.xpath("//a[@di='id_name']"));
4.By Class Name 根据class名进行定位
WebElement element=driver.findElement(By.className("class_name"));
5.By Link Text 根据标签中的文本内容进行定位
WebElement element=driver.findElement(By.linkText("linkText"));
6.定位下拉选择框
Select select=new Select(driver.findElement(By.id("id_name")));
7,By cssSelector 根据属性来定位
WebElement element=driver.findElement(By.cssSelector("id=id_name"));

对找到的元素进行操作
1.输入框textarea
在输入框中输入内容: element.sendkeys("文本");
清空输入框: element.clear();
获取输入框中的文本内容:element.getText();

2.下拉选择框select
选择对应的选项: select.selectByValue("value");
select.selectVisibleText("value");

不选择对应选择: select.deselectAll()全不选择
select.deselectByValue("value");
select.deselectVisibleText("value");

获取选择项的值: select.getAllSelectedOptions();获取所有的选项值
select.getFristSelectedOption();获取第一个选项值

3.单选项 radio button和多选框 checkbox
找到单选框元素 WebElement redioButton=driver.findElement(By.id("id_name"));

选择某个单选框 redioButton.click();

清空某个单选项 redioButton.clear();

判断单选项是否被选择: redioButton.isSelected();

4.按钮 button
判断按钮是否可点击 element.isEnabled();

5.弹出对话框
Alert alert=driver.switchTo().alert();

确认: alert.accept();
取消: alert.dismiss();
获取alert文本: alert.getText();

6.windows和frames切换
切换至窗口A主框架: driver.switchTo.defaultContant();

从窗口A切换至新窗口B: driver.switchTo.window("B widowTitle");

从窗口切换frame(frame需逐级切换) driver.switchTo.frame("frame控件定位符");

7.导航 navigation
打开新页面 driver.navigate().to("https://www.baidu.com");

通过历史导航前进/后退 driver.navigate().forword();前进

driver.navigate().back();后退

最新文章

  1. C++虚方法(虚函数)随笔
  2. VC++ 在使用 CImage 的Draw 输入一个图像时,有时候会造成图像失真严重,解决的方法如下
  3. (转)ElasticSearch学习
  4. git bash 出现vim的时候怎么退出
  5. git搜索--grep
  6. Java基础(1) - 语法 & 概念
  7. Python《学习手册:第二章-习题》
  8. 关于opencv模板匹配功能的项目测试记录
  9. 机器学习 - 正则化L1 L2
  10. laravel5.4 导出 Excel 表格
  11. Java核心技术卷一基础知识-第14章-多线程-读书笔记
  12. Swarm stack
  13. Oracle了解(一)
  14. .Net转Java.06.字符串的split的区别
  15. rsync排除多个文件实现同步
  16. 【Python52--爬虫1】
  17. 20. Valid Parentheses (Stack)
  18. 【word2vec】Distributed Representation——词向量
  19. HTML和CSS <h1> --2-- <h1>
  20. re-sign重签名

热门文章

  1. 如何解决“当前上下文中不存在名称“XXXXXXXX””的问题
  2. csv文件已经python内置csv模块
  3. 在Mac上安装office2016破解版
  4. JQuery手写一个简单的分页
  5. Notes 20180308 : 语句
  6. iOS-WebView(WKWebView)进度条
  7. python 输入一个整数,判断其是否既是3的倍数,又是5的倍数
  8. <CPP学习 第二天> 字符串的输入 及 String类
  9. optimize table 删除空洞--MYSQL
  10. js中定时器使用方法经验总结