GUI自动化测试

什么是自动化测试
自动化测试,就是把人对软件的测试行为转化为由机器执行测试行为的一种实践,对于最常见的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文档头部区域,页面不可见
  html文档内容部分,页面可见

常见的页面元素
●容器型元素:div,form,table
●页面元素:a、img、input(button、text、file)、select、CheckBox、radio、textarea、submit

常用的元素定位的方式
●id
●name
●class name 
●tag name
●link text
●partial link text

●xpath(万能,可以在Chrome中用$

你可能感兴趣的:(自动化,python,单元测试)