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自动化一点记录的更多相关文章

  1. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  2. Selenium2学习-032-WebUI自动化实战实例-030-JavaScript 在 Selenium 自动化中的应用实例之五(高亮标示元素)

    在自动化脚本编写过程中,操作元素之前,需要对元素进行高亮显示(通过修改元素的边框样式),同时进行截图,以记录操作的元素对象.在实际应用中较为少见,通常用于演示,或者发生错误时的屏幕截图捕捉,用于错误报 ...

  3. 利用Selenium自动化web测试

    简介: Selenium 是一个没有正式指导手册的开源项目,这让测试人员的问题调查很费时间.本文为基于 Selenium 1.0(发布于 2009 年 6 月)的测试期间的常见问题提供最佳实践. 简介 ...

  4. Selenium自动化脚本开发总结

    Selenium Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mo ...

  5. selenium自动化过程中如何操作Flash动画

    最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...

  6. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  7. Selenium自动化测试之结果处理

    Selenium自动化测试之结果处理 一.断言 断言相当于性能测试中的检查点,常用断言种类很多,具体可以查看断言API:判断预期结果和实际结果是否一致,断言成功,程序继续处理,失败则终止运行,示例如下 ...

  8. 2、大型项目的接口自动化实践记录--接口测试简介及RequestsLibrary关键字简介

    1.接口测试简介 1)先简单介绍下接口测试,那么什么是接口测试呢? 百科的回答:接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 看起来有 ...

  9. 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 ...

随机推荐

  1. 关于Git学习推荐

    Git学习除了推荐官方网站:https://git-scm.com/之外, 我个人比较推荐初学者或者被动使用者可以学习参考廖雪峰的这个教程:https://www.liaoxuefeng.com/wi ...

  2. Java中线程同步的理解

    我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread). 线程(Thread)是一份独立运行的程序,有自己专用的运行栈.线程有可能和其他线程共享一些资源, ...

  3. 相机姿态估计(Pose Estimation)

    (未完待续.....) 根据针孔相机模型,相机成像平面一点的像素坐标p和该点在世界坐标系下的3D坐标P有$p=KP$的关系,如果用齐次坐标表示则有: $$dp=KP$$ 其中d是空间点深度(为了将p的 ...

  4. HDU 1029 Ignatius and the Princess IV (map的使用)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1029 Ignatius and the Princess IV Time Limit: 2000/10 ...

  5. 在ASP.NET Core的startup类中如何使用MemoryCache

    问: 下面的代码,在ASP.NET Core的startup类中创建了一个MemoryCache并且存储了三个键值“entryA”,“entryB”,“entryC”,之后想在Controller中再 ...

  6. 关于MySQL自增主键的几点问题(上)

    前段时间遇到一个InnoDB表自增锁导致的问题,最近刚好有一个同行网友也问到自增锁的疑问,所以抽空系统的总结一下,这两个问题下篇会有阐述. 1. 划分三种插入类型 这里区分一下几种插入数据行的类型,便 ...

  7. 【解决】could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

    在同一套环境中跑了很多个项目都是用 docker-compose的方式启动的,导致创建的自定义网络过多出现下面的报错 Error response from daemon: could not fin ...

  8. 小工具:生成半透明背景色的 CSS 代码,不影响子元素透明度

    工具:http://leegorous.net/tools/bg-alpha.html 工具介绍:http://leegorous.net/blog/2010/07/29/generate-css-c ...

  9. 浅谈CSS高度坍塌

    高度坍塌情况: 当父元素没有设置高度,且子元素块都向左(右)浮动起来,那么父元素就会出现坍塌的现象. 解决办法: 在父元素包含块中加一个div: 优点:兼容性强,适合初学者. 缺点:不利于优化. 方法 ...

  10. 离不开的微服务架构,脱不开的RPC细节(值得收藏)!!!

    服务化有什么好处? 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦,如下图所示: 服务A:欧洲团队维护,技术背景是Java 服务B:美洲团队维护,用C++实现 ...