/webUIPractice

web UI实战

Primary LanguageJavaApache License 2.0Apache-2.0

webUIPractice

[TOC] web UI实战

基础知识概览

  • 作业: 设计一个注册表单 这个网页标题为:系统注册页面 表单包括:用户名、密码、确认密码、性别单选、所在省市、提交 表单要规范,用表格形式呈现
  • 表单验证部分代码 - formValidate.html
  • 随堂练习:注册页面在提交时,检查用户名的合法性(不为空、首字母不是空格、_),如果不合法,提示输入不正确,重新输入,如果合法,提示用户名输入正确
  • 随堂练习:用DOM查找元素的方式,重写检查用户名的方法
  • 随堂练习:用JQuery查找元素的方式,重写检查用户名的方法
  • 作业:注册表单完善,包含JavaScript交互: 提交后验证下列字段:
    • 用户名不能为空、用户名不能以数字0开头
    • 密码不少于8位
    • 密码和确认密码相同
    • 注册提交后,用户输入的信息展示:用户名,性别,所在省市
    • 要求使用jquery方式验证
  • 补充知识: AJAX异步请求:
    • 观察获取异步请求 - baidu search
    • JQUERY AJAX异步请求方式

Selenium热身:不同浏览器自动化访问baidu

SeleniumIDE

TestNG基本介绍

WebDriver

基本API

  • 原理浅析? selenium1和2的原理
  • 更好的利用TestNG构建Selenium自动化用例 BaseTest & AbstractAccessBaidu
    • BestTest 作用:运行Test之前启动driver,运行Test之后退出driver
    • AbstractAccessBaidu 作用:访问相同网站baidu。也可以扩展为在所有的Test之前登录百度网站
  • WebDriver 接口
  • WebElement 接口

test-output 测试报告 reportNG 高级特性

高级技巧

TestNG 高级特性

TestNG数据驱动

  • DataProvider
    • 基本写法
    • 实际用法 - 多账户登录验证 后面项目涉及

TestNG xml运行

  • suite, test 套件的概念 TestRun.xml

TestNG Listeners

  • 应用一:编写自己的listener
  • 应用二:美化版报告 ReportNG pom文件的配置 会配置,能说出来即可
  • Arrow自学

WebUI实战

Page Factory 框架

模拟项目 自动化下单操作 苏宁的购买商品过程

  • 增强WebDriver类,WebDriverPlus,不用每次都初始化一堆driver,可以根据条件初始化
  • AbstractBasePage,创建基础方法供子类调用,如执行js,判断元素等
  • 把数据放到文件中,用数据驱动脚本 InvokeData -- 测试用例脚本需要继承InvokeData,读数据的方法才能起作用
  • 把流程拆开,login一般用在before阶段,商品、下单和查看变成多个测试用例

附:

  1. JavaScript秘密花园
  2. PageFactory官方说明
  3. 深入TestNG
  4. WIKI page in WIKI tab of project