Bootstrap

web自动化测试Day1-2

自动化测试能解决什么问题

回归测试,压力测试,兼容性(浏览器,分辨率),操作系统

误区

自动化测试可以完全替代人工;可以发现更多bug,适用于所有功能

自动化测试分类

web,移动(app),接口(工具代码),单元测试

web自动化

程序代替人工自动验证web项目功能的过程

什么web适合自动化测试

1.需求变动不频繁

2.项目周期长

3.项目需要回归测试

web自动化在什么阶段开始

功能测试完毕(手工测试之后),因为时间问题,以及功能完善问题,需要手动先测试一下

web自动化测试所属分类

黑盒测试(功能测试);白盒测试(单元测试);灰盒测试(接口测试)

按照代码分为:黑白灰

web自动化测试工具

QTP:收费,支持web,桌面自动化测试(本地软件)

Selenium(本阶段学习):web,免费,开源(你可以改代码,公开代码),主要做功能测试

robot framework:基于python可扩展的关键字驱动的测试自动化框架,免费

Selenium

特点:

开源软件;跨平台:linux;windows;mac

支持多种浏览器,语言(java,python,jsp...)

成熟稳定,功能强大

发展历程:

1.0版本:IDE录制自动化代码工具,Grid是分布式工具,同时启动多个浏览器;RC,通过JS模拟浏览器,实现自动化方式

selenium 2.0/3.0 比较多,2.0最多,比较稳定,推荐

元素定位方式

id定位

element=driver.find_element_by_id(id)    //前提是有id属性并且唯一

web测试name定位

name一般名称会重复

id,name,class区别

id:一般为唯一标识符 name:可重名 class:多个命名

tag_name定位(了解)

parcial_link_text

XPath,CSS

XPath定义

XPath依赖于元素路径

XPath常用定位策略

绝对路径/开头

相对路径以//开始

也可以使用通配符查找,但是,效率没有指定后的高

所有属性必须用@id='id值'

XPath延伸

CSS定位方法(强推)

element=driver.find_element_by_css_selector('css_selector')

CSS选择器案例

driver.find_element_by_css_selector(‘#userA’).send_keys('admin')

driver.find_element_by_css_selector("[name='passwordA']").send_keys('123456')

driver.find_element_by_css_selector(‘.telA’).send_keys('18611112222')

span=driver.find_element_by_css_selector(‘span’).text获取文本值

driver.find_element_by_css_selector(‘p>input[placeholder='电子邮箱A']’).send_keys('[email protected]')

CSS延伸

八种元素定位汇总

用CSS或者partical_link_text

;