Introduction to Web Automation Testing

1. A brief introduction to automated testing

1.1 What is automated testing

    软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化
测试他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正
确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软
件的发布周期

1.2 Benefits of automated testing

1)缩短测试周期
	计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给
计算机去做,加快测试速度。
2)避免人为出错
	测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人
为错误	
3)测试信息存储
	自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便
4)轻易获取覆盖率
	自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作。
5)其他
	自动化测试可以是实现自动或者定时执行

Notice:

自动化测试的方向是对的,而且趋势也是如此,但是有些自动化实现不了的还是会手动测

1.3 Classification of automated testing

1.3.1 Overall Classification

1)自动化功能测试
2)自动化性能测试

1.3.2 Classification of automated functional testing

1)单元测试
	程序员搞定
2)功能测试
3)接口测试
大中型项目或长期项目可以采用自动化测试

Performance testing mainly uses testing tools

    Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,
所以必须自动化。为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问
站点),人的速度是远远达不到这样的操作的

1.4 Web automation conditions and scope of use

1.4.1 Prerequisites for using automation

1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
2)项目周期长,重复性的工作都交给机器去实现
3)需求稳定,项目变动不大
4)自动化测试脚本复杂度比较低
5)可重复利用

1.4.2 Scenarios using automated testing

1)频繁的回归测试
2)冒烟测试
3)传统行业需求变化不大,应用频繁
4)性能测试

1.5 Commonly used tools for web automation

1. QTP (charged)

QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。

2.RTF (charged)

   IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用
与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能。

3. Selenium (open source)

Selenium一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试

2. Element positioning

2.1 Why learn element positioning?

1)计算机没有智能到人的程度。
2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入。
3)计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等)

2.2 Tools for element positioning

1)css选择器
2)xpath

2.3 Environment and tools

(1)firefox35
(2)firebug插件
(3)firepath插件

2.4 xpath

2.4.1 What is xpath

XPath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTML\XML 文档中查找信息的语言。

2.4.2 What is XML

xml指可扩展标记语言
xml是一种标记语言,很类似html
xml的设计宗旨是传输数据,而非显示数据

2.4.3 XML vs HTML

 2.4.4 Nodes

每个xml/html的标签我们都称之为节点

 2.4.5 Path expressions

    XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的
电脑文件系统中看到的表达式非常相似

(1)  Find a specific node or a node that contains a specified value

 

 (2) Select the unknown node

 (3) Select several paths

 (4) Supplement:

//*[text()=“x’x’x”]   全部//title/text()   本内容是xxx的元素
 
//*[starts-with(@attribute,’xxx’)]		   属性以xxx开头的元素

//*[contains(@attribute,’xxxxx’)]		   属性中含有xxx的元素

//*[@attribute1=value1 and @attribute2=value2]	同时有两个属性值的元素

2.5 css selectors

2.5.1 What is CSS selector

  CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到
相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器

2.5.2 css selector syntax

1) Locating by pseudo class name, id, tag name

Test site: https://www.baidu.com

 (2) Through the nesting relationship before the element

 (3) by attribute

 (4) Through the parent-child relationship

Guess you like

Origin blog.csdn.net/qq_44954371/article/details/126590527