天津手机版建站系统哪个好,东莞微客巴巴做网站,建设部设计院网站,乐安网站建设学习目标#xff1a;针对任何的web或者是app系统#xff0c;能够实现UI的自动化代码的实现。
今日目标#xff1a;
1、要能分析当前项目是否适合做UI自动化
2、熟练掌握web自动化测试环境搭建
3、撑握元素定位的方法
一、UI自动化测试介绍
1、什么是自动化测试
概念针对任何的web或者是app系统能够实现UI的自动化代码的实现。
今日目标
1、要能分析当前项目是否适合做UI自动化
2、熟练掌握web自动化测试环境搭建
3、撑握元素定位的方法
一、UI自动化测试介绍
1、什么是自动化测试
概念由程序代替人工进行系统校验的过程
1.1 自动化测试能解决的问题
回归测试 (冒烟测试)
针对之前老的功能进行测试 通过自动化的代码来实现针对上一个版本的问题的回归
兼容性测试web实例化不同的浏览器驱动相当于对不同的浏览器进行操作从而解决浏览器的兼容性测试问题
性能测试通过一些工具来模拟多个用户实现并发操作提高工作效率保障产品质量
1.2 自动化测试的优点:
自动化测试能在较少的时间内执行更多的测试用例自动化测试能够减少人为的错误自动化测试能够克服手工的局限性自动化测试可以重复执行( 注册用户 --已注册)
1.3 自动化则试的误区:
自动化测试可以完全代替手工测试 针针某些功能图片、页面架构也是没有办法通过自动化来实现自动化测试一定比手工测试厉害 金融行业更看重业务的积累自动化测试可以发现更多的BUG 是因为自动化测试主要用来做回归测试自动化测试适用于所有的功能 页面的架构、图片、文字用户体验
1.4 自动化测试分类:
web自动化测试本阶段学习内容 —— web系统移动app自动化本阶段学习内容 —— app应用接口自动化 —— 接口用来给web或者app前端传输数据用的单元测试-自动化测试 —— 针对开发人员的代码进行测试。 是由开发自己来做的安全测试渗透测试 —— 针对系统、数据、应用等安全方面进行测试桌面应用自动化测试 —— 针对windows的桌面应用程 序进行自动化测试嵌入式设备自动化测试 —— 针对嵌入式设备的应用程序进行自动化测试 2、什么是UI自动化测试:
概念UI(user interface)通过对web应用以及app应用进行自动化测试的过程。
2.1 什么项目适合做ui自动化测试
需求变动不频繁 前端代码变更维护不方便项目周期长 项目短上线之后不需要再去测试项目需要回归测试 不用回归测试的也不需要写自动化
2.2 UI自动化测试在什么阶段开始
手工测试完成之后才做自动化测试相当于是编写自动化测试代码通过手工测试能够清楚的知道自动化测试的步骤以及结果
2.3 UI自动化测试所属分类:
黑盒测试功能测试 UI自动化测试 模拟人工对web以及 app页面进行操作的过程白盒测试单元测试灰盒测试接口测试
1、V1 通过手工测试完成之后有十个功能。
2、 针对V1版本的十个功能进行自动化的代码编写
3、V2 增加了十个功能总共有20个功能 v2版本的测试过程当新增的10个功能手工测试。针对老的10个功能就可以通过自动化来进行回归测试。 二、web自动化测试基础
1、web自动化框架
1.1 主流的web自动化工具
QTP 由惠普公司开发的一款自动化工具支持web、桌面的自动化测试。 收费的商用工具。selenium 主要用来做web自动化测试的开源的免费的工具。root framework 自动化测试平台。通过它可以实现web自动化测试、接口自动化测试、桌面的自动化测试。 1.2 selenium特点
selenium中文名是硒就是用来做web自动化测试的开源软件: 源代码开放但是不一定免费
跨平台: 平台指操作系统。 linux、windows、 mac操作系统支持多种浏览器firefox、chrome、 ie、edge、opera、safari支持多语言python\java\C#\js\Ruby\PHP成熟稳定功能强大被大公司使用。google、华为、百度、腾讯
后续大家在选择自动化工具的时这几个特点就是选择工具的依据。 1.3 selenium发展史
selenium 1.0 selenium IDE
是firefox的一款插件通过它可以记录用户的操作并生成对应的自动化脚本。selenium grid 通过grid可以将脚本下发到不同的电脑在不同的浏览器上面执行。 selenium RC由JS封装的一个工具用来对浏览器进行操作的。 selenium 2.0
selenium 1.0 webdriver针对浏览器的操作都是通过webdriver来实现的。支持的语言更多 selenium 3.0
删除了selenium RC全面支持java8支持macOS支持safari浏览器支持微软最新的EDGE浏览器支持更多的浏览器 2、环境搭建
2.1 selenium工作原理 2.1 selenium环境安装2.1 python开发工具安装(不需要安装python阶段已经安装过了)2.2 浏览器安装浏览器电脑已安装
需要注意浏览器与浏览器驱动的版本 不同的浏览器有不同的浏览器驱动而且不同的版本也有不同的浏览器驱动 2.1 selenium工具包安装
在线安装方式: 在dos命令行中输入: pip install selenium
离线安装方式:
需要获取selenium离线安装包并解压
在DOS命令行进入到解压的目录然后执行python setup.py install
pycharm进行安装:
在file菜单中选择setting 然后选择project- interpreter 如何确认selenium安装完成可以通过pip show selenium进行查看 2.4 浏览器驱动安装
安装浏览器驱动之前一定要知道自己浏览器的版本。 通过n classnolinkhttps://npm.taobao.org/mirrors/chromedriver/获取对应的浏览器驱动
解压浏览器驱动文件并将驱动文件复制到python的根目录就行了。
查看python安装根目录通过where python命令 2.4 入门示例
项目创建
项目名称不要 与第三方的模块名同名文件名称也不要与第三方的模块名或者是类名同名项目创建时不要使用虚拟环境. FAQ 搭建环境问题总结 1、安装过程中没有urllib3这个模块
如果没有对应的模块可以通过在线或者离线的方式安装一下urllib3这个模块
2、chrome浏览器的版本与chrome浏览器驱动的版本不一致先确定浏览器的版本再下载对应的浏览器驱动版本
3、chrome浏览器安装有问题移动了chrome浏览器的应用程序目录 从C盘移到E盘
不要随便去移动安装程序的位置因为在注册表中会记录程序安装目录信息
4、chrome浏览器驱动没有复制到python安装的根目录下
python安装的根目录不是python安装文件的目录
5、大家在创建项目时用的是虚拟环境包含venv目录虚拟环境下找不到selenium模块
切换虚拟环境到正常的环境 3、元素定位3.1 如何进行元素定位 元素 由标签头标签尾标签头和标签尾包括的文本内容元素的信息就是指元素的标签名以及元素的属性 元素的层级结构就是指元素之间相互嵌套的层级结构 元素定位最终就是通过元素的信息或者元素的层级结构来进行元素定位。
3.2 浏览器开发者工具介绍
浏览器开发者工作主要用来查看元素的信息, 同时也可以查看接口的相关信息。
浏览器开发者工作不需要安装浏览器自带.
浏览器开发者工具的启动:直接按F12 不区分浏览器
通过右键的方式来启动浏览器开发者工具 (谷歌浏览器右键选择“检查”, 火狐浏览器右键选择“检查元素”
浏览器开发者工具使用点击 浏览器开发者工具左上角的 元素查看器按钮再点击想要查看的元素
3.3 元素定位
id定位name定位class_name定位tag_name定位link_text定位partail_link_text定位xpath定位css定位
3.3.1 ID定位
通过元素的ID属性值来进行元素定位 在html标准规范中 ID值是唯一的
说明 元素要有ID属性
定位方法 find_element_by_id(id) # id参数表示的是id的属性值 3.3.2 name定位
通过元素的name属性值为进行元素定位 name属性值 在HTML页面中是可以重复的。
说明元素要有name属性
定位方法: find_element_by_name(name) # name 参数表示的是name的属性值 3.3.3 class_name定位
通过元素的class属性值进行元素定位 class属性值是可重复的说明元素必须要有class属性定位方法 find_element_by_class_name(class_name) #class_name参数表示的是class的其中一个属性值 3.3.4 tag_name定位
通过元素的标签名称进行定位 在同一个html页面当中相同标签元素会有很多。
这种定位元素的方式不建议大家在工作当中使用。
定位方法: find_element_by_tag_name(tag_name) # tag_name表示的是元素的标签名称。
如果有重复的元素定位到的元素默认都是第一个元素 3.3.5 link_text定位
通过超链接的全部文本信息进行元素定位 ,主要用来定位a标签定位方法 find_element_by_link_text(link_text) # link_text参数代表的是a标签的全部文本内容。 3.1.1 partial_link_text定位
通过超链接的局部文本信息进行元素定位主要用来定位a标签定位方法find_element_by_partial_link_text(partial_link_text) #partial_link_text表示的是a标签 的局部文本内容 3.1.1 定位一组元素
定位一组元素的方法 :
find_elements_by_id(id)
find_elements_by_tag_name(tag_name) 定位
一组元素返回的值是一个列表可以通过下标来使用列表中的元素下标是从0开始。 最后 为了回馈铁杆粉丝们我给大家整理了完整的软件测试视频学习教程朋友们如果需要可以自行免费领取 【保证100%免费】 全套资料获取方式点击下方小卡片关注我