web自动化测试基础介绍

web自动化测试基础介绍

一、为什么要做自动化测试测试框架:

	测试平台目前只有少量公司在应用。(是一个不太实际的东西。因为需要应用的基本都是web开发技术,研发的人员更加信向开发,而非测试。)
	测试框架目前是自动化测试最为主体的实现形式。(更加像是一个测试工具。开发工期更为简短,维护性更高,学习成本相对较低,上手和使用和推行更加快捷。)
    最根本原因是因为测试行业需录的核心技术是测试框架,所以我们需要学会研发测试框架。

二、如何实现一个测试框架

1.一定要关联到实际的业务需求与公司需求。
2.技术的完整性
3.开始实现:
    1.从零搭建自动化体系的团队
    	-1.了解公司具体情况和需求
        -2.基于一个系统进行试点
        -3.搭建一个demo
        -4.开始运行,产出内容
        -5.优化与调整,形成稳定的测试框架
        -6.启动分享会议
        -7.准备培训并启动推广
        -8.结合实际的推广过程中的应用,不断调优
    2.已有自动化测试框架的团队
    	-1.熟悉现有的测试框架。
    	-2.了解核心的测试业务。
    	-3.基于工作内容和需要,结合测试框架实现你的工作产出。

三、自动化测试框架中关联的技术点

语言的选择:python(80%)、Java(%20不到)

第一阶段

自动化模块: Selenium、Appium、Requests

设计模式: 关键字驱动、POM

第二阶段

数据驱动: Excel、Yami、Json、Py

测试用例: UnitTest、PyTest

测试报告: HTMLTestRunner、Allure

邮件模块: SMTP

第三阶段

配置管理: 环境(服务器、数据库、tomcat等)

日志: Logging、logurn

代码管理: GIT、SVN

持续集成: Jenkins

第四阶段

测试用例的并发: 多任务并发处理机制,异步形态实现用例读取与执行

测试框架分布式的结构设计: 主从节点(通过路由节点下发测试任务,由子节点执行测试结果。最终集成测试完整结束到一体化。)

自动化测试学习中,设计思维能力是最重要的(跟大佬学),其次是编码能力

四、什么是自动化

自动化就是由机器设备代替人为自动完成指定目标任务的过程

优点:

'''
1.减少人力劳动,节约人力成本
2.提高工作效率
3.产品规格统一标准化
4.规模化批量生产
'''

五、什么是自动化测试

自动化测试就是让程序代替人去验证程序功能的过程

六、为什么要使用自动化测试

注意: 想要真正去理解为什么要使用自动化测试,需要明白以下知识点

自动化测试在哪个阶段开始?

功能测试(也就是手工测试)结束之后
手工测试就是由人去一个一个输入用例,得出测试结果的过程。

七、自动化测试分类

1.黑盒测试(功能测试)
2.灰盒测试(接口测试)
3.白盒测试(单元测试)

注意:web自动化测试属于黑盒测试
目的
1.解决回归测试
2.解决模拟压力测试
3.解决兼容性测试
4.提高测试效率,保证产品质量

回归测试:项目在发新版本之后对项目之前的功能进行验证
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
兼容性测试:不同的浏览器(Chrome\Firefox\IE)等等
优点
1.较少的时间内运行更多的测试用例
2.减少人为的错误
3.测试数据存储
4.自动化脚本可重复运行
缺点
1.无可以取代手工测试
2.手工测试比自动化测试发现的缺陷更多
3.测试人员技能要求

知识误区:
	1.自动化测试完全可以代替手工测试
    2.自动化测试一定比手工测试实用
    3.自动化测试可以发现更多的bug
总结
1.自动化测试能代替人为解决繁琐的回归测试验证问题
2.自动化测试脚本设计一次能重复运行
3.模拟多用户操作
4.提高测试效率

注意:当然自动化测试脚本带来的好处不止这几条,后期可以逐一了解更多

八、Selenium、WebDriver

Selenium IDE()已经过时:是一个Firefox插件,用于记录和播放用户与浏览器的交互。 (录制web操作脚本)

'''
1.Selenium:
    目前业内最核心的技术就是自动化测试。
    最为主流的自动化测试技术就是Selenium
    Appium,是基于Selenium继承实现的。
    早期是基于QTP来实现的自动化,没啥用了
    现在Selenium,本身是FireFox下的一插件, Selenium IDE,主要用于火狐浏览器的U1操作的录制,可以转换为Java, Ruby,JS语言的内容
    后来被Google开始关注, Chrome浏览器所支持的浏览器驱动, 主流的Driver:2.ChromeDriver, IEDriver, SafariDriver..。
    Selenium核心是某于JS Core来实现的。
    Selenium 1.x时代  IDE时代
    Selenium 2.x时代WebDriver+IDE
    Selenium 3.x时代WebDriver
    在现阶段的测试中,只会使用Selenium+WebDriver来实现自动化测试。
  
3. Playwright,是微软开源的一款Node实现的自动化测试框架。可以完全独立运行(不需要关联到webdriver) ,可以支持绝大多数主流浏览器的访问。对于编程语言的支持也比较好。使用方便,官方文档非常齐全。业内应用相对较少。
    
4.Puppeteer, 貌似一款自动化测试框架,不太了解.

Selenium版本:

​	Selenium4的版本目前除了Js版之外,其他的语言都是属于测试版,目前主流的版本是3.141
​    Selenium IDE:早期是FireFox浏览器下的一个插件,是基于录制回放编辑的形态来实现自动化。在现在IDE推出了一个全新返本,可以支持Chrome浏览器和edge浏览器的录制插件。

'''

九、Selenium + WebDriver

Selenium+WebDriver:目前最为核心的一套自动化UI体系
    但是Selenium和WebDriver是两个东西,全都是基于编程的形式来实现的。
    

十、Selenium Gird

Selenium Grid,传统的自动化测试框架都是基于代码的线性运行来实现的。对于更为复杂、耗费时间成本更高的自动化测试,就会应用更为高阶的方式来实现。比如说多用例的井发,测试框架分布式部署。 Grid就是用于实现测试框架的分布式部署,基于MS形态的架构部署,主从节点。通过主节点下发任务,从节点接收并执行任务,将结果返回至主节点进行记录。
    

十一、WebDriver

1.不同版本浏览器对应不同的WebDriver
2.不同版本的对应不同版本的WebDriver,除了chrome浏览器之外,其他的浏览器对应的WebDriver版本都可以在selenium官网上了解
chromedriver:http://npm.taobao.org/mirrors/chromedriver
3.chromedriver.exe保存在python根路径下即可
4.浏览器安装在默认路径即可
5.ChromeDriver本身就是一个服务,在Selenium自动化测试中。所有的代码都是不与浏览器直接交互的,只于WebDriver服务进行交互,包含各类的指令数据和返回信息。

十二、Selenium + WebDriver

from selenium import webdriver


# 基本的selenium
# 创建webdriver对象
driver = webdriver.Chrome()
# 访问url
driver.get('https://www.baidu.com')
# 定位到输入文本框进行输入
driver.find_element('id', 'kw').send_keys('自动化测试')
# 定位到百度按钮,进行事件点击
driver.find_element('id', 'su').click()

作者:吴常文
出处:https://blog.csdn.net/qq_41405475
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao阿文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值