GUI自动化测试微课版教案.docx
《GUI自动化测试微课版教案.docx》由会员分享,可在线阅读,更多相关《GUI自动化测试微课版教案.docx(25页珍藏版)》请在冰豆网上搜索。
GUI自动化测试微课版教案
章节编号:
第一章:
自动化测试的概念
内容简介:
本章将测试知识为核心,通过对不同测试方法、测试手段的讲解,让读者了解自动化测试,并且通过对不同类型的自动化测试技术实现原理的介绍。
在本章结束时,对所学图形化界面的自动化测试知识有一定的理解。
学习目标:
(1)了解回归测试概念和兼容性测试概念
(2)了解自动化技术类别
(3)了解界面自动化技术不同类别的实现原理
(4)了解自动化实施难度
GUI自动化测试(微课版)-教案
知识点一:
了解回归测试概念和兼容性测试概念
内容列表:
(1)回归测试的基本概念
(2)回归测试的策略
(3)回归测试的实施
(4)兼容测试的概念
(5)兼容性测试的实施
问题列表:
(1)什么是回归测试?
(2)回归测试的策略?
(3)什么是兼容性测试?
(4)兼容性测试的实施流程?
授课要点:
(1)介绍回归测试和兼容性测试概念。
(2)介绍回归测试策略。
(3)通过对回归测试的阐述引入自动化测试的实施。
(4)介绍兼容性测试概念
(5)通过兼容性测试实施引入自动化测试。
课后任务:
(1)了解自动化技术。
知识点二:
了解自动化技术类别
内容列表:
(1)自动化测试概念。
(2)自动化测试类别
(3)自动化测试的实施过程
(4)自动化测试实施前提条件,和实施难度
问题列表:
(1)自动化是在做什么?
(2)自动化测试做什么?
(3)自动化的类别有哪些?
(4)自动化怎么实施,自动化测试有怎么完成?
(5)自动化的价值?
授课要点:
(1)介绍自动化的分类
(2)介绍自动化测试的实施流程
课后任务:
(1)熟悉各种自动化类型的实现方式
知识点三:
了解界面自动化技术不同类别的实现原理
内容列表:
(1)界面自动化简介
(2)界面自动化工作原理
(3)模拟鼠标键盘操作
(4)基于图像识别
(5)基于元素核心属性识别
问题列表:
(1)界面自动化通常在什么平台什么架构的软件上使用?
(2)如何实现界面自动化,常用用具有哪些?
(3)如何实现鼠标键盘事件的模拟?
(4)图像识别的技术实现原理?
(5)如何通过界面属性识别元素?
授课要点:
(1)对不同系统和架构下的软件做区分
(2)讲解不同的类型的界面自动化实现原理
课后任务:
思考是否所有的软件项目都可以使用自动化测试
知识点四:
了解自动化实施难度
内容列表:
(1)自动化测试实施困难的原因
(2)怎么才能做好自动化测试
问题列表:
(1)自动化实施有什么困难
(2)要做好自动化,需要做好什么准备
授课要点:
(1)对实施困难的理解
(2)吸收实施自动化的经验。
课后任务:
提前安装python环境,熟悉Python语法。
章节编号:
第二章:
python编程基础
内容简介:
要做好自动化测试,需要借助工具,使用别人已经开发好的工具是其中的一种方式,另一种方式是根据自己的需求定制化自动化脚本。
自己通过编码来实现自动化的,python语言的学习至关重要。
当然,实现自动化的语言有多种,而python是目前实现自动化的语言中最简单易学的。
学习目标:
(5)python环境安装配置
(6)python的规范和基础语法
(7)python面向对象
(8)python连接mysql数据库
(9)python多线程
知识点一:
python环境安装和配置
内容列表:
(6)python的版本
(7)常见python的编译工具
问题列表:
(5)python2.x和python3.x的区别?
(6)常见的编译工具有哪些?
授课要点:
(6)讲解python的发展历史?
(7)讲解不同版本python的异同。
(8)介绍不同的python代码的编译工具
课后任务:
(2)熟悉python的规范和基础语法
知识点二:
python的规范和基础语法
内容列表:
(5)了解python的pep8规范
(6)python中的变量
(7)python中有哪些关键字
(8)标识符的命名规则
(9)python的输入输出
(10)python的数据类型
(11)python的控制结构
(12)python的函数
(13)python的模块和包
问题列表:
(6)标识符的命名规则?
(7)如何在python中定义一个变量?
(8)如何在在控制台输出一个”hello”?
(9)python的数据类型有哪些?
(10)从一个字符串“hello,world”中将单词hello和world分别输出。
(11)python的控制结构有哪些
(12)定义一个简单计算功能的函数,要求传入任意两个数字,计算其相加后的值?
授课要点:
(3)命名、缩进规范要求记住。
(4)掌握输入输出方法
(5)掌握不同数据类型,及常用函数
(6)掌握python的控制结构
(7)掌握python的函数定义及使用
(8)了解python的模块和包的引用规则
章节编号:
第三章:
基于图像识别的自动化测试
内容简介:
本章介绍以图像识别的方式来实现界面的自动化测试,其实现原理在前面已经做过简单介绍。
具体实现将在本章中给大家做详细的介绍。
采用两种方式实现图像识别,一种方式是使用工具sikulix,另一种是通过python代码。
学习目标:
(10)熟练使用工具sikulix
(11)掌握python的源生代码实现图像识别
(12)掌握python图像识别框架
知识点一:
sikulix工具的使用
内容列表:
(8)sikulix的安装配置。
(9)sikulix的工作原理。
(10)sikulix针对应用陈序的脚本编写。
(11)web系统测试项目的安装部署
(12)sikulix对web系统的脚本编写
(13)python代码调用sikulix.jar实现图像识别
问题列表:
(7)sikulix实现图像识别的原理?
(8)如何实现每步操作之间的等待?
(9)sikulix中如何输入输出?
如何输入汉字?
(10)sikulix如何实现控制结构?
(11)python代码如何调用sikulix.jar?
授课要点:
(9)sikulix的使用
(10)sikulix如何断言
课后任务:
(3)熟悉python源生图像识别
知识点二
python的源生代码实现图像识别
内容列表:
(1)模板匹配思路。
(2)模板匹配核心算法。
(3)模板匹配代码实现。
(4)模板匹配代码优化
问题列表:
(1)模板匹配中图像对比实现原理?
(2)如何获取像素点的rgb色?
(3)滑动对比如何实现?
(4)匹配算法优化思路?
授课要点:
(1)模板rgb获取
(2)背景图片的rgb获取
(3)滑动对比实现
课后任务:
(1)熟悉图像识别框架
知识点三
python的图像识别框架
内容列表:
(1)框架实现思路。
(2)框架模型实现。
问题列表:
(1)如何实现功能组件化?
(2)如何实现选择器?
授课要点:
(1)模板匹配中每个功能实现
(2)通过选择器的方式将要实现的功能组装在一起
课后任务:
(2)熟悉selenium库安装和使用
章节编号:
第四章:
Selenium入门
内容简介:
本章介绍web系统的页面元素识别方式实现自动化的工具selenium,与前面学习的图像识别不同,该工具基于页面元素的属性来定位该元素的.,且只能用于web系统。
由于selenium目前已经发布多个版本,所以将其按功能划分用两个章节分别介绍。
本章节主要以selenium1.0中重要的工具seleniumIDE作为重点来介绍元素识别自动化测试的实现。
学习目标:
(13)了解selenium工具的发展史。
(14)掌握seleniumIDE(katalonRecorder)工具的安装和使用。
知识点一:
selenium工具的发展史
内容列表:
(14)元素识别工具简介
(15)selenium的发展史
问题列表:
(12)常见的元素识别工具有哪些?
(13)selenium不同版本的变化?
授课要点:
(11)selenium各版本的组成及其作用
课后任务:
(4)安装seleniumIDE工具
知识点二:
seleniumIDE(katalonRecorder)工具的安装和使用
内容列表:
(1)seleniumIDE安装
(2)seleniumIDE实现原理
(3)seleniumIDE的使用
问题列表:
(1)seleniumIDE的功能有哪些?
(2)seleniumIDE实现自动化原理?
(3)seleniumIDE如何实现脚本录制?
(4)如何在脚本中加入等待?
等待的方式有哪些?
(5)如何利用seleniumIDE生成python自动化代码?
授课要点:
(1)利用seleniumIDE录制脚本
(2)在脚本中插入关键字
(3)利用seleniumIDE捕获页面元素,并生成对应的元素定位方式。
课后任务:
(1)利用seleniuIDE生成woniusales自动化脚本。
章节编号:
第五章:
selenium进阶
内容简介:
前面在使用seleniumIDE过程中肯定会出现一些工具无法解决的问题,或许这就是工具本身的问题。
而在Selenium2.0中,加入了新成员WebDriverAPI,它可以很好的解决前面遇到的问题。
WebDriver会很好地帮助用户快速定位这些元素,它是基于浏览器内核API完成对象识别,为了更准确更灵活的使用元素定位方式实现自动化测试。
那通过python调用selenium第三方库的方式就是接下来学习的内容。
学习目标:
(15)安装selenium库和下载对应的浏览器驱动程序。
(16)熟悉webdriver常用的API。
(17)熟悉webdriver等待时间、焦点切换、截图、js代码执行、文件上传等操作。
(18)利用webdriver完成兼容性测试。
知识点一:
安装selenium库和下载对应的浏览器驱动程序
内容列表:
(16)selenium在python中的安装方式
(17)不同的浏览器对应版本的驱动程序下载
问题列表:
(14)如何选择selenium安装版本?
(15)不同版本的selenium库针对的浏览器版本?
(16)如何选择正确的驱动程序?
授课要点:
(12)讲解selenium版本的区别
(13)讲解驱动程序版本对浏览器的支持
课后任务:
(5)熟悉webdriver的常用API
知识点二:
webdriver的常用API
内容列表:
(4)熟悉webdriver对浏览器的操作
(5)熟悉webdriver如何定位元素
(6)熟悉对已定位元素的操作。
问题列表:
(6)如何通过webdriver打开woniusales首页?
(7)如何实现页面的回退和前进?
(8)如何实现关闭打开的页面
(9)定位元素的方式有哪些?
(10)如何清空输入框内容?
(11)如何点击一个按钮?
(12)如何判断元素是否出现?
(13)如何判断元素是否隐藏
授课要点:
(4)webdriver驱动对象实现
(5)在启动浏览器时加载插件
(6)页面元素定位的方式和各种方式实现的底层原理
课后任务:
(2)思考如何实现下拉框操作,如何等待元素出现后再操作。
(3)如何上传文件
知识点三:
webdriver的其他操作
内容列表:
(1)熟悉webdriver等待方式
(2)熟悉webdriver文件上传
(3)熟悉webdriver的焦点切换
(4)熟悉webdriver截图方法
(5)熟悉webdriver执行js代码
(6)熟悉webdriver模拟鼠标键盘操作
问题列表:
(1)如何通过webdriver实现对某个元素的显示等待?
(2)实现文件上传的方式有哪些?
(3)内嵌页面的焦点切换如何实现?
(4)如何获取某个元素的截图,比如验证码图片?
(5)如何执行js弹窗代码?
(6)如何模拟鼠标右键点击一个按钮?
授课要点:
(1)webdriver各种等待方式的区别。
(2)焦点切换方式的实现
(3)webdriver执行不同功能的js代码
课后任务:
(1)如何实现兼容性测试
知识点四:
webdriver实现兼容性测试
内容列表:
(1)熟悉webdriver对不同浏览器驱动程序的调用
(2)熟悉兼容性测试实现的原理
问题列表:
(1)如何实现不同类型的多个浏览器同时打开
授课要点:
(1)多线程实现webdriver调用不同的驱动程序
课后任务:
(1)思考自动化代码结构优化。
章节编号:
第五章:
自动化测试框架
内容简介:
在熟悉webdriver的基本使用后,通过python代码写出来的脚本遇到需要测试时,检查点的使用以及测试数据的加入,会让代码出现冗余,难维护等情况,采用分层思想,将脚本和用例分离,将数据和用例分离的方式可以很好的解决前面说遇到的问题。
本章着重讲解数据驱动框架的实现。
通过从线性脚本开始逐步实现数据驱动。
学习目标:
(19)以线性脚本的方式实现测试。
(20)模块化实现实现逻辑分层。
(21)实现数据驱动
知识点一:
线性脚本实现测试
内容列表:
(18)自动化测试框架概述
(19)如何实现线性脚本
(20)总结线性脚本的优缺点
问题列表:
(17)常见的自动化测试框架有哪些?
(18)线性脚本的特点?
(19)线性脚本有什么问题?
授课要点:
(14)对不同的测试框架进行区分
(15)通过线性脚本的方式来引入问题
课后任务:
(6)熟悉参数化
知识点二:
模块化测试
内容列表:
(7)简单的分层思想实现。
(8)减少冗余代码
(9)实现参数化
问题列表:
(14)如何实现测试和脚本的分离?
(15)如何添加验证点,进行测试断言?
(16)如何将测试数据从文本中获取并传递给脚本执行?
授课要点:
(7)脚本中的数据参数化
(8)文档读取,参数的传递
(9)如何根据不同的数据进行测试的验证
课后任务:
(4)如何实现数据驱动
(5)python中类反射函数的使用。
知识点三
数据驱动
内容列表:
(1)数据驱动框架简介
(2)自动化测试用例编写
(3)编写模块脚本
(4)编写测试用例集代码
(5)读取excel文件内容
(6)编写驱动程序
(7)生成测试报告
(8)添加截图功能
问题列表:
(1)自动化测试用例包含哪些内容?
(2)如何读取excel中的数据?
(3)如何实现根据excel中的模块匹配代码中的方法?
(4)如何生成测试报告?
授课要点:
(1)数据驱动中代码如何分层
(2)编写excel测试用例时,步骤中数据的格式如何设计?
(3)读取excel文件时如何将数据逐行取出
(4)怎么让代码根据数据自动匹配模块、类和方法。
(5)如何编写excel版本测试报告模板
(6)如何将测试数据放入测试报告模板中并生成最终的测试报告
课后任务:
(1)熟悉windows应用程序的自动化测试
章节编号:
第七章:
windows应用程序
内容简介:
基于元素识别的自动化测试中,前面所使用的selenium只能在B/S架构下使用,而被测系统还可能是windows操作系统中的C/S架构程序,或者就是一个windows的应用程序。
这个时候就需要使用uiautomation工具来完成windows应用的元素识别和操作。
学习目标:
(22)UIAutomation简介。
(23)UIAutomation工具的使用。
(24)通过python实现对windows应用程序的monkey测试。
知识点一:
UIAutomation简介
内容列表:
(21)UIAutomation的实现元素识别和操作原理
(22)UIAutomation的发展
问题列表:
(20)UIAutomation的作用?
授课要点:
(16)UIAutomation如何实现对windows程序元素进行定位和操作
课后任务:
(7)熟悉UIAutomation使用
知识点二:
UIAutomation的使用
内容列表:
(10)辅助定位工具UISpy的使用
(11)UIAutomation的常用api
(12)UIAutomation的基本使用
问题列表:
(17)UISpy获取元素属性中,哪些属性可以用于定位该元素?
(18)UIAutomation中如何获取程序窗口元素?
(19)UIAutomation如何实现输入框操作?
(20)UIAutomation如何实现按钮操作?
授课要点:
(10)如何使用工具UISpy
(11)如何在屏幕上获取应用程序
(12)如何在应用程序中识别到各种元素
(13)如何对识别到的元素进行各种操作
课后任务:
(6)熟悉python的鼠标键盘模拟操作。
知识点三:
通过python实现对windows应用程序的monkey测试
内容列表:
(1)monkey测试简介
(2)python实现monkey测试的思路
(3)笨猴子测试代码实现
(4)聪明猴子测试代码实现
(5)测试步骤复现的代码实现
问题列表:
(1)什么是猴子测试?
(2)python如何实现鼠标、键盘操作的模拟?
(3)笨猴子实现原理?
(4)聪明猴子实现的原理?
(5)怎么才能将测试过程记录下来?
(6)怎么将已经记录的测试过程回放?
授课要点:
(1)猴子测试的原理
(2)如何安装pymouse和pykeyboard
(3)笨猴子的实现过程
(4)聪明猴子实现过程
(5)操作过程记录后回放。
课后任务:
(1)熟悉手机adb命令。
(2)手机自动化测试工具appium。
(3)熟悉uiautomator2使用
章节编号:
第八章:
android移动端自动化测试
内容简介:
在移动端应用中,无论是H5应用,还是原生应用,都仍然只是作为一个客户端的交互形态,并不影响服务器端的质量表现。
所以,对于接口测试或者是性能测试来说,与客户端并无太大关系,再结合其兼容性和功能性测试来说,面向GUI界面的移动端测试就显得极为重要。
所以本章内容主要讲解Android版移动端的GUI测试部分的关键技术。
目前主流手机系统分两大阵营,android和ios.由于ios的测试要受环境的限制,这里就不涉及ios。
学习目标:
(25)android配置和应用
(26)monkey工具的使用
(27)appium的使用
(28)uiautomator2工具的使用
知识点一:
android配置和应用
内容列表:
(23)androidsdk环境配置
(24)模拟器的配置
(25)adb基本命令介绍和使用
问题列表:
(21)什么是sdk?
(22)如何配置sdk在windows系统中的环境变量?
(23)怎么配置windows上的手机模拟器?
(24)怎么连接android真机
(25)什么是adb?
(26)adb常用命令?
授课要点:
(17)介绍androidsdk工具。
(18)配置sdk和模拟器环境变量。
(19)介绍adb命令。
课后任务:
(8)熟悉adb工具monkey的使用
知识点二:
monkey工具的使用
内容列表:
(14)monkey的脚本实现。
(15)monkey的高级应用
(16)monkey的测试结果分析
问题列表:
(13)如何通过adb连接模拟器或者是手机
(14)如何启动monkey?
(15)monkey工具的常用选项有哪些?
(16)monkey怎么模拟用户的操作?
(17)怎么生成运行日志?
(18)如何分析monkey测试的结果?
授课要点:
(9)讲解adb连接设备命令
(10)使用逆向解析apk包的工具获取apk的包名
(11)介绍monkey中模拟手工操作的选项。
(12)如何分析monkey测试的结果。
课后任务:
(2)下载appium库
(3)熟悉appium的使用
知识点三:
appium的使用
内容列表:
(6)常见参数配置
(7)元素识别
(8)各种类型app的测试
(9)模拟手工操作
(10)图像识别
(11)真机操作
问题列表:
(6)如何获取apk文件中的packagename和activityname?
(7)如何识别app的界面元素?
(8)app有哪些类型?
(9)在手机上如何模拟手工操作?
(10)如何截图并将图片下载到pc端?
(11)appium如何在真机上运行?
授课要点:
(3)appium的安装配置
(4)appium的必要参数
(5)appium元素定位和操作
课后任务:
(1)熟悉uiautomator2的使用
知识点四:
uiautomator2工具的使用
内容列表:
(3)uiautomator2的简介
(4)uiautomator2的安装配置
(5)uiautomator2的元素定位和操作
(6)uiautomator2操作汇总
问题列表:
(3)uiautomator2如何识别元素?
(4)uiautomator2对元素有哪些操作方法?
(5)weditor工具如何使用?
授课要点:
(3)uiautomator2如何编写脚本
(4)uiautomator2如何定位操作元素
(5)辅助定位工具怎么使用
课后任务:
(1)熟悉手机云测平台
章节编号:
第九章:
移动端云测平台开发
内容简介:
由于目前市面上的移动设备越来越丰富,尤其以Android阵营为主,并且由厂商进行过深度定制的系统,更是不胜枚举。
因此,在移动端的测试中,兼容性一直是业界痛点,不单需要消耗大量的人力、财力和物力,而且很难覆盖全面的终端设备。
所以,针对移动端开发一套符合企业自身需要的云测试平台便显得非常重要,将人力解放出来,专注于测试脚本的设计开发,而将执行工作交给平台自动化地完成,便具备了重要的实践价值。
本章将用代码的方式实现云测平台的开发。
学习目标:
(29)云测平台概念
(30)python开发云测平台
(31)生成测试报告
(32)基于云测平台的monkey测试。
知识点一:
云测平台概念
内容列表:
(26)云测平台简介
(27)实现云测平台的思路
问题列表:
(27)云测平台原理和使用云测平台的好处
(28)如何构建自己的云测平台,需要哪些技