1.1 windows环境搭建
1.1.1 selenium简介
1.1.2 python安装
1.1.3 环境变量
1.1.4 安装selenium
1.1.5 验证selenium
1.1.6 浏览器
1.1.7 firefox历史版本
1.2 pip降级selenium3.0
1.2.1 遇到问题
1.2.2 解决方案
1.2.3 检查pip环境
1.2.4 pip查看selenium版本号
1.2.5 pip降级selenium
1.2.6 升级pip版本
1.3 解决pip异常问题
1.3.1 pip出现异常
1.3.2 解决办法
1.3.3 配置环境变量
1.3.4 必杀技
1.3.5 绝杀技能
1.4 Chrome浏览器
1.4.1 Chrome遇到问题
1.4.2 查看版本号
1.4.3 chromedriver
1.4.4 各版本匹配表
1.5 pycharm使用
1.5.1 pycharm安装
1.5.2 新建工程
1.5.3 新建脚本
1.5.4 开始编程
1.6 selenium3+firefox环境搭建
1.7 mac上搭建selenium环境
1.8 pycharm上两种运行姿势
第二章 WebDriver API
2.1 操作浏览器基本方法
2.1.1 打开网页
2.1.2 设置休眠
2.1.3 页面刷新
2.1.4 页面切换
2.1.5 设置窗口大小
2.1.6 截屏
2.1.7 退出
2.1.8 加载浏览器配置
2.2 常用8种元素定位(Firebug和firepath)
2.2.1 环境准备
2.2.2 查看页面元素:
2.2.3 find_element_by_id()
2.2.4 find_element_by_name()
2.2.5 find_element_by_class_name()
2.2.6 find_element_by_tag_name()
2.2.7 find_element_by_link_text()
2.2.8 find_element_by_partial_link_text()
2.2.9 find_element_by_xpath()
2.2.10 find_element_by_css_selector()
2.3 xpath定位
2.3.1 xpath:属性定位
2.3.2 xpath:其它属性
2.3.3 xpath:标签
2.3.4 xpath:层级
2.3.5 xpath:索引
2.3.6 xpath:逻辑运算
2.3.7 xpath:模糊匹配
2.4 CSS定位
2.4.1 css:属性定位
2.4.2 css:其它属性
2.4.3 css:标签
2.4.4 css:层级关系
2.4.5 css:索引
2.4.6 css:逻辑运算
2.4.7 css:模糊匹配
2.5 SeleniumBuilder辅助定位元素
2.5.1 安装Selenium Builder
2.5.2 直接运用
2.5.3 实践案例
2.6 操作元素(键盘和鼠标事件)
2.6.1 简单操作
2.6.2 submit提交表单
2.6.3 键盘操作
2.6.4 鼠标悬停事件
2.7 多窗口、句柄(handle)
2.8 定位一组元素elements
2.9 iframe
2.10 select下拉框
2.11 alert\confirm\prompt
2.12 单选框和复选框(radiobox、checkbox)
2.13 table表格定位
2.14 加载Firefox配置
2.14-1 加载Chrome配置
一、加载Chrome配置
二、Wap测试
2.15 富文本(richtext)
一、加载配置
二、打开编辑界面
三、iframe切换
四、输入正文
2.16-1 非input文件上传(SendKeys)
一、SendKeys安装
二、参考代码
2.16 文件上传(send_keys)
一、识别上传按钮
二、定位iframe
2.17 获取元素属性
一、获取页面title
二、获取元素的文本
三、获取元素的标签
四、获取元素的其它属性
五、获取输入框内的文本值
六、获取浏览器名称
七、参考代码
2.18 爬页面源码(page_source)
一、page_source
二、re非贪婪模式
三、筛选url地址出来
四、参考代码
2.19 cookie相关操作
一、获取cookies:get_cookies()
二、登录后的cookies
三、获取指定name的cookie:driver.get_cookie(name)
四、清除指定cookie:delete_cookie()
五、清除所有cookies:delete_all_cookies()
六、cookie操作的几个方法
七、参考代码
2.20 绕过验证码(add_cookie)
一、fiddler抓包
二、添加cookie方法:driver.add_cookie()
三、cookie组成结构
四、添加cookie
五、参考代码:
2.21 JS处理滚动条
一、JavaScript简介
二、控制滚动条高度
三、横向滚动条
四、Chrome浏览器
五、元素聚焦
六、获取浏览器名称:driver.name
七、兼容性
八、scrollTo函数
九、参考代码如下:
2.22 JS处理富文本
一、加载配置
二、打开编辑界面
三、定位iframe
四、js输入中文
五、参考代码
2.23 js处理日历控件(修改readonly属性)
一、日历控件
二、去掉readonly属性
三、用js去掉readonly属性
四 输入日期
五、js方法输入日期
六、参考代码
2.24 js处理内嵌div滚动条
一、内嵌滚动条
二、纵向滚动
三、横向滚动
四、用class属性定位
2.25 js处理多窗口
一、多窗口情况
二、查看元素属性:target="_blank"
三、去掉target="_blank"属性
四、js去掉target="_blank"属性
五、参考代码
2.26 js解决click失效问题
一、遇到的问题
二、点击父元素
三、js直接点击
四、参考代码
2.27 18种定位方法总结
一、十八种定位方法
二、element和elements傻傻分不清
三、elements定位方法
四、参考代码
2.28 查看webdriver API(带翻译)
一、pydoc
二、启动server
三、浏览器查看文档
四、webdriver API
2.29 练习题1:去掉页面动态窗
一、alert弹窗
2.30 练习题2:定位百度-更多产品
2.31 练习题3:获取百度联系词
一、定位输入框联想词
二、打印全部匹配出来的词
三、参考代码
2.32 js几种定位方法总结
一、以下总结了5种js定位的方法
二、id定位
三、class定位
四、CSS选择器
五、参考代码:
2.33 定位的坑:class属性有空格
一、定位带空格的class属性
二、class属性科普
三、class定位
四、判断元素唯一性
五、class属性不唯一怎么办
六、css定位
七、参考代码
2.34 jquery定位(简直逆天)
一、jquery搜索元素
二、jquery定位语法
三、jquery行为
四、参考脚本
第三章 unittest介绍
3.1 unittest简介
3.1.2 简单用法
3.1.3 小试牛刀
3.1.4 前置和后置
3.1.5 博客案例
3.2 unittest执行顺序
一、案例分析
二、执行结果
三、结果分析
四、selenium实例
3.3 unittest批量执行
一、新建测试项目
二、diascover加载测试用例
三、run测试用例
3.4 unittest之装饰器(@classmethod)
一、装饰器
二、执行顺序
三、selenium实例
3.5 unittest生成测试报告HTMLTestRunner
一、导入HTMLTestRunner
二、demo解析
三、生成html报告
四、测试报告详情
五、参考代码:
3.6 html报告乱码问题优化
一、中文乱码
二、修改编码
3.7 unittest之断言
3.7.1 简单案例
3.7.2 自定义异常
3.7.3 unittest常用的断言方法
3.7.4 unittest所有断言方法
3.8 搭建简易项目
一、新建工程
二、项目结构
三、run_main
3.8-1 生成报告的源码下载(兼容python2和3)
3.9 run_main.py源码(兼容python2和3)
3.10 练习题1:模块导入(登录方法)
一、登录方法封装
3.11 练习题2:捕获异常
一、发生异常
二、捕获异常
三、参考代码:
四、selenium常见异常
3.12 练习题3:异常后截图
一、截图方法
二、异常后截图
三、selenium实例
3.13 练习题4:邮件发送(smtp)
一、163邮箱
二、QQ邮件
三、兼容163和QQ邮箱
四、发送带附件
五、发给多个收件人
六:邮件收不到的几种原因:
3.14 unittest之skip
一、skip装饰器
二、skip案例
3.15 报告优化:带截图、饼图、失败重跑
一、 优化html报告
二、 报告效果
三、 异常截图
五、 执行用例
3.16 github源码下载
第四章 场景判断与封装
第4章 场景判断192
4.1 显示等待WebDriverWait
一、参数解释
二、元素出现:until()
三、元素消失:until_not()
四、参考代码:
五、WebDriverWait源码
4.2 定位方法参数化find_element()
一、find_element()
二、查看find_element方法源码
三、By定位方法
四、定位参数化
五、参考代码
4.3 参数化登录方法
一、登录方法
二、用例
三、判断方法封装
四、优化后案例
五、参考代码
4.4 封装读取excel方法
一、环境准备
二、基本操作
三、excel存放数据
四、封装读取方法
4.5 数据驱动ddt
一、环境准备
二、数据驱动原理
三、selenium案例
4.6 判断元素16种方法expected_conditions
一、功能介绍和翻译
二、查看源码和注释
4.7 判断title方法title_is
一、源码分析
二、判断title:title_is()
四、参考代码
4.8 判断文本text_to_be_present_in_element
一、源码分析
二、判断文本
三、失败案例
四、判断value的方法
4.9 判断弹出框alert_is_present
一、判断alert源码分析
二、实例操作
三、参考代码
4.10 二次封装(click/sendkeys)
一、显示等待
二、封装定位方法
三、封装成类
三、封装成类
四、参考代码
4.11 二次封装(完整版)
4.12 PageObject
一、PageObect
二、定位方法对应参照表
三、参考代码如下