[TOC] web UI实战
- 作业: 设计一个注册表单 这个网页标题为:系统注册页面 表单包括:用户名、密码、确认密码、性别单选、所在省市、提交 表单要规范,用表格形式呈现
- 表单验证部分代码 - formValidate.html
- 随堂练习:注册页面在提交时,检查用户名的合法性(不为空、首字母不是空格、_),如果不合法,提示输入不正确,重新输入,如果合法,提示用户名输入正确
- 随堂练习:用DOM查找元素的方式,重写检查用户名的方法
- 随堂练习:用JQuery查找元素的方式,重写检查用户名的方法
- 作业:注册表单完善,包含JavaScript交互:
提交后验证下列字段:
- 用户名不能为空、用户名不能以数字0开头
- 密码不少于8位
- 密码和确认密码相同
- 注册提交后,用户输入的信息展示:用户名,性别,所在省市
- 要求使用jquery方式验证
- 补充知识:
AJAX异步请求:
- 观察获取异步请求 - baidu search
- JQUERY AJAX异步请求方式
- 什么是selenium
- 软件安装:firefox(安装到默认位置后,记得关闭更新), selenium IDE 百度云盘的软件共享
- Firefox -- 火狐访问百度
- Chrome -- Chrome访问百度
- IE -- IE访问百度
- 小小封装下变成Common -- 简单封装思路
- 定位元素方式 ? baidu搜索为例
- id
- name
- css
- xpath(重点) http://www.w3school.com.cn/xpath/xpath_syntax.asp
- 使用 软件介绍
- 录制回放 演示用IDE录制回放登录百度
- 随堂:IDE录制回放登录百度
- 单元测试及框架 JUnit
- 什么是TestNG?跟JUnit区别在哪
- 为什么用单元测试框架驱动selenium
- 能够灵活的配置测试脚本(用例)运行Selenium脚本
- TestNG基本写法 -- before, test, after, assert
- 原理浅析? selenium1和2的原理
- 更好的利用TestNG构建Selenium自动化用例 BaseTest & AbstractAccessBaidu
- BestTest 作用:运行Test之前启动driver,运行Test之后退出driver
- AbstractAccessBaidu 作用:访问相同网站baidu。也可以扩展为在所有的Test之前登录百度网站
- WebDriver 接口
- WebElement 接口
- *****一个业务实例 -- 百度一下Test,并记录下第一个div的文本
- getText --获取元素文本
- getAttribute --获取元素属性
test-output 测试报告 reportNG 高级特性
- Actions(键盘事件、鼠标双击)
- *****鼠标双击
- 执行JS
- ***用jQuery框架辅助
- 截图
- *****截图功能
- 下拉列表
- 随堂:完成注册页面的自动化,并检验注册成功页面是否打开并截图
- 测试流控制
- 等待 *****
- 检查元素 *****
- 弹出窗口
- 警告框
- 框架
- ***通过id或者name进入框架 -- frameByIdOrNameTest()
- ***通过页面内容进入框架 -- frameByContentTest()
- 作业:完成登录苏宁易购并添加商品到购物车的操作
- DataProvider
- 基本写法
- 实际用法 - 多账户登录验证 后面项目涉及
- suite, test 套件的概念 TestRun.xml
- 应用一:编写自己的listener
- 应用二:美化版报告 ReportNG pom文件的配置 会配置,能说出来即可
- Arrow自学
- 增强WebDriver类,WebDriverPlus,不用每次都初始化一堆driver,可以根据条件初始化
- AbstractBasePage,创建基础方法供子类调用,如执行js,判断元素等
- 把数据放到文件中,用数据驱动脚本 InvokeData -- 测试用例脚本需要继承InvokeData,读数据的方法才能起作用
- 把流程拆开,login一般用在before阶段,商品、下单和查看变成多个测试用例
- JavaScript秘密花园
- PageFactory官方说明
- 深入TestNG
- WIKI page in WIKI tab of project