什么是自动化测试
自动化测试,就是把人对软件的测试行为转化为由机器执行测试行为的一种实践,对于最常见的GUI自动化测试来讲,就是由自动化测试模拟之前需要人工在软件界面上的各种操作,并且自动验证其结果是否符合预期。
什么样的项目适合自动化
●需求稳定,不会频繁变更
●研发和维护周期长,需要频繁执行回归测试
●需要在多种平台上重复运行相同测试的场景
●性能、兼容性通过手工测试无法实现,或者手工测试成本太高
●被测软件的开发较为规范,能够保证系统的可测性
●测试人员具备一定的编程能力
自动化测试的类型划分
自动化测试有广义和狭义之分:
●广义:借助工具进行软件测试,都可以称为自动化测试
●狭义:主要指基于UI层的自动化测试
按照测试类型分:
●功能
●性能
●安全
按照测试阶段分:
●基于代码的单元测试
●集成阶段的接口测试
●系统测试阶段的UI自动化
自动化测试用例的设计原则
●自动化测试一般集中在需要重复测试的基本功能、基本业务流以及正向路径操作,不要将复杂的异常测试、复杂业务流程操作等加入到自动化测试用例中
●自动化测试用例尽量保持用例之间的独立性,最好不要形成依赖关系
●自动化测试如果对数据进行了修改,在测试结束后应尽量保持还原,避免对其他用例产生影响
●每个自动化测试用例只能验证一个功能点
webdriver的环境配置
●通过pip install selenium安装最新的selenium。selenium就是web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
●下载对应的Chromedriver或geckodriver,并将driver放到环境变量的路径中
○Chromedriver下载镜像:ChromeDriver Mirror
○geckodriver下载镜像(firefox): geckodriver Mirror
●在pycharm中导入webdriver即可使用:from selenium import webdriver
自动化测试的love四步法
1元素定位 Locate
2元素操作 Operate
3结果断言 Verificate
4异常处理 Except
自动在百度搜索webdriver的例子
Python复制代码
from selenium import webdriver import time # 新建一个webdriver实例 driver = webdriver.Chrome() # 打开百度首页 driver.get("https://www.baidu.com") # 定位到id为kw的元素并点击它 driver.find_element_by_id('kw').click() # 定位到id为kw的元素并清空里面的内容 driver.find_element_by_id('kw').clear() # 定位id为kw的元素并输入webdriver driver.find_element_by_id('kw').send_keys('webdriver') # 定位到id为su的元素并点击它 driver.find_element_by_id('su').click() # 休眠2秒 time.sleep(2) # 关闭浏览器 driver.close()
页面基本结构
html页面的基本结构
HTML复制代码
<html> <head>html文档头部区域,页面不可见</head> <body>html文档内容部分,页面可见</body> </html>
常见的页面元素
●容器型元素:div,form,table
●页面元素:a、img、input(button、text、file)、select、CheckBox、radio、textarea、submit
常用的元素定位的方式
●id
●name
●class name
●tag name
●link text<a>
●partial link text<a>
●xpa