selenium自动化一点记录
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();后退
selenium自动化一点记录的更多相关文章
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- Selenium2学习-032-WebUI自动化实战实例-030-JavaScript 在 Selenium 自动化中的应用实例之五(高亮标示元素)
在自动化脚本编写过程中,操作元素之前,需要对元素进行高亮显示(通过修改元素的边框样式),同时进行截图,以记录操作的元素对象.在实际应用中较为少见,通常用于演示,或者发生错误时的屏幕截图捕捉,用于错误报 ...
- 利用Selenium自动化web测试
简介: Selenium 是一个没有正式指导手册的开源项目,这让测试人员的问题调查很费时间.本文为基于 Selenium 1.0(发布于 2009 年 6 月)的测试期间的常见问题提供最佳实践. 简介 ...
- Selenium自动化脚本开发总结
Selenium Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mo ...
- selenium自动化过程中如何操作Flash动画
最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...
- python+selenium自动化软件测试(第2章):WebDriver API
2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...
- Selenium自动化测试之结果处理
Selenium自动化测试之结果处理 一.断言 断言相当于性能测试中的检查点,常用断言种类很多,具体可以查看断言API:判断预期结果和实际结果是否一致,断言成功,程序继续处理,失败则终止运行,示例如下 ...
- 2、大型项目的接口自动化实践记录--接口测试简介及RequestsLibrary关键字简介
1.接口测试简介 1)先简单介绍下接口测试,那么什么是接口测试呢? 百科的回答:接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 看起来有 ...
- Python2.6.6执行selenium自动化
系统类型: [root@bogon home]# uname -aLinux bogon 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 20 ...
随机推荐
- 关于Git提交规范
自古至今,无规矩不成方圆. Git提交也有其规范,业内做的比较好的,比较具有参考价值的就是Angular的提交. Angular提交规范: <type>(<scope>): & ...
- hpp.h与.h的区别
hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译.而实现代码将直接 ...
- P2894 [USACO08FEB]酒店Hotel
P2894 [USACO08FEB]酒店Hotel 简单的线段树维护区间信息. 维护三个值,一个是从左端点能拓展的长度,一个是从右端点能脱产的的长度.另一个是整个区间内的最大连续零一长度. 记录这三个 ...
- iis服务器php环境 failed to open stream: No such file or directory解决办法
项目主机用的windows系统,iis服务器:远程连接桌面—>本地资源->映射D盘驱动器,将本地d盘修改后的文件放在远程主机项目目录里,访问报出failed to open stream: ...
- 每日笔记---使用@ConfigurationProperties读取yml配置
每日笔记---使用@ConfigurationProperties读取yml配置 参考地址 https://www.cnblogs.com/mycs-home/p/8352140.html 1.添加 ...
- SQL 一
1.所有表都必须在模式中.2.SYS模式不是默认模式3.虽然有概念用户PUBLIC,但它根本没有模式.4.索引有自己的名称空间,存储过程.同义词.表和视图都在同一名称空间里.5.堆是可变长度行的表,这 ...
- iOS:PrefixHeader / 头文件 / 宏定义(18-03-02更)
宏定义,不一定放在PCH文件,可能放在一个.h文件,再用PCH包含进来. 1.屏幕尺寸 // 屏幕尺寸 #define kSCREEN_WIDTH [UIScreen mainScreen].boun ...
- div样式position:fixed,不随屏幕滚动而滚动,导致屏幕太小时弹出层被遮挡,无法滚动查看的解决办法
window.onscroll = function () { var sl = -Math.max(document.body.scrollTop, document.documentElement ...
- 在SQL Server中批量修改有规律列的定义
)=N'要修改的表名'; --修改所有以sl结尾的列名的小数位数为4位 select syscolumns.name into #t1 from syscolumns,systypes where s ...
- redhat系统升级openssh到7.5
注意,注意,注意重要的事情说三遍,关于ssh的升级不能完全按照别人的教程进行升级,因为每台生产机器都是不一样的,有可能别人能升级成功但是另外一个就可能会失败,因为每台机器上面跑的应用是不一样的,涉及到 ...