1. 自动化测试的前提
1.1 什么是自动化?
- 减少人力成本
- 完成大量重复性工作
- 提高测试效率
- 保证工作的一致性,提高信任度
- 完成手工不能完成的工作
1.2 是否适合做自动化?
- 时间 (项目周期长)
- 人员 (熟悉自动化)
- 系统(项目主体稳定)
- 领导(领导支持推荐使用自动化)
1.3 在什么情况下做自动化
- 单元测试?
- 集成测试?
- 接口测试?
- UI测试
1.4 什么样的项目需要做自动化
- 需求变更慢
- 周期长
- 脚本可重复利用
1.5 自动化工具、框架的选择
- Selenium Webdriver
- FireBug
- FirePath
2. Selenium 简介
2.1 Selenium来历
- 一个为减少测试工作的同行Jason Huggins同行通过js代码库开发的
2.2 Selenium 家庭成员
- Selenium RC
- Selenium IDE (自动化脚本录制工具)
- Selenium Webdriver
- Selenium Grid (在不同的浏览器运行脚本之类的)
2.3 Selenium 工作原理
↓ ———————— Response ————————
脚本 ====> webdirver ===> 浏览器
—————————— Request —————————↑
3. 自动化测试的必备工具
- 选择火狐浏览器,版本一般选择27-32版本之间的
- 安装FireBug、FirePath
Selenium IDE 的安装以及使用
- 安装
- 录制
打开--浏览器顶部-工具-selenium IDE-打开
录制按钮-红色的时候是录用状态
URL
Test Case
操作区域:command操作-target元素-value值
4. Selenium IDE 安装及使用简介
5.自动化框架环境搭建
6.常见浏览器启动
- Firefox 启动
driver = new FirefoxDriver()
System.setProperty("webdriver.firefox.bin", "E:/Firefox/firefox.exe")
- Chrome启动
driver = new ChromeDriver();
System.setProperty("webdriver.chrome.driver", "E:/webdriver/chromedriver/chromedriver.exe")
- IE 启动
- 需下载驱动
-
driver = new InterExplorerDriver(); System.setProperty("webdriver.ie.driver", "E:/webdriver/iedriverserver/IEDriverServer.exe")
webdriver常见元素定位
- By.id
- By.name
- By.tagName
- By.tagName
- By.className
- By.linkText
- By.partialLinkText
- By.xpath
- By.css
- table
常见API模块:
-
打开网址API.
- Driver.get()
- Driver.navigate.to()
-
操作浏览器API
- Driver.navigate().refresh 刷新
- Driver.navigate().forward 前进
- Driver.navigate().back 向后
- Driver.getTitle() 打印标题
- Driver.getCurrentUrl() 获取当前URL地址
- Driver.manage().window().maximize()浏览器大小 - - - - - Driver.quit 推出并关闭浏览器,没关闭进程
- Driver.close() 关闭浏览器,关闭进程 通过Js操作滚动条操作 操作浏览器cookic )
-
输入框操作API
- Send Keys()
- Clear()
- getText()
- Click()
-
选择框处理
- 单选框
- 复选框
- 下拉框
- iframe窗口处理
- 弹窗处理
-
页面元素处理
- 等待加载
- 根据属性获取元素值 获取对象的css属性
- 获取对象状态:页面是否显示isdisplay
- 元素是否存在find_element
- 元素是否选中isSelected()
- 是否处于灰化状态 idEnabled
- 特殊操作讲解:
- 报错是截屏保存
- 模拟鼠标右键
- 鼠标悬浮
- 上传文件
- 日期控件处理
- 浏览器滚动条操作
6、窗口处理API 7、JS处理 8、特殊处理