目录
8、元素的定位方式
1、什么是自动化测试?
自动化测试是机器(测试机)按照预先设定好的条件(通过脚本去设定)去运行,设定的条件包括正常条件和异常条件,不需要人为手工干涉去进行测试过程。
2、自动化测试金字塔
(1)单元测试
开发阶段就可以做,对程序的组成单元进行测试,效率最高,测试/开发人员要把大部分精力放在单元测试阶段
可以花费较少的时间去发现问题
可以使用Java Junit框架
(2)接口测试
在项目前期,接口开发完成之后就进行测试
测试用例维护量少
适合接口变动小的项目
接口自动化的工具:robotframework框架、jmeter、postman、Django、soupUI
语言:Java/python
(3)UI自动化测试
根据界面元素,对元素进行操作,模拟用户的使用,编写自动化脚本,进行测试
缺点:用例维护量大
优点:可以支持繁琐复杂,手工不易操作,反复执行的功能测试
需要在项目后期,界面功能和界面元素稳定的时候进行
适合界面比较稳定的项目
使用selenium工具,使用的是python语言,使用junittest框架
3、UI自动化测试的好处
(1)进行大量的回归测试和兼容性测试,解放双手,提高效率
(2)完成对手工测试来说比较有难度的测试(比如精准计时)
(3)完成对手工来说比较繁琐的测试
(4)机器执行是很可靠的
(5)自动化脚本的价值:脚本的复用性
4、为什么要用selenium自动化框架?
自动化测试工具:jmeter、testNG、Django、Appium、Macaca
特点:轻量级、安装方便、免费、支持多语言:Java、python、ruby、C#、JavaScript
支持多平台:
操作系统:Linux、Windows、Mac
支持多浏览器:Firefox、Chrome、IE、Opera、Safari
5、什么样的项目适合自动化测试
产品型项目、产品需要不停迭代、周期很长
项目稳定、界面不频繁变动
6、禅道是一款什么工具,它的设计理念是什么
禅道是一款项目管理工具,它可以管理整个软件的开发周期
它是根据敏捷开发流程来进行设计的,可以进行敏捷开发的管理,适用于瀑布模型和看板模型的项目管理
分为产品经理,项目经理,开发人员,测试人员这几个角色
7、webdriver(浏览器的驱动)的原理
(1)selenium-webdriver将浏览器启动,把浏览器绑定到一个端口,浏览器就作为了一个remote server
(2)客户端(脚本)通过commandExecutor向remote server发送请求
(3)把web server指令解析成浏览器的native指令,然后操作浏览器
8、元素的定位方式
id 如果元素有id,必定全局唯一,可以直接定位元素
name 如果,当且仅当全局唯一,才可以直接定位元素
classname 不一定可以定位元素
link test 适用于可点击的链接
partial link test 用部分链接的内容去定位元素
tag name 组成元素的tag,如果全局唯一也可以定位
xpath 一定可以定位到该元素,每一个元素的xpath都是唯一的
css selector 一定可以定位到元素