【2023最全教程】Web自动化测试怎么做?Web自动化测试的详细流程和步骤

article/2025/10/9 6:09:07

一、什么是web自动化测试
自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。

这是教科书里面的自动化的定义,回归到自动化测试其实自动化测试就是什么呢?

指的是测试的过程在没有人或者较少的人为的干预的情况下进行的测试,再简单点说就是用程序或者脚本来测试程序,那么在web自动化测试中主要用来把测试人员从繁琐的内容中解放出来,主要做一些比如需要多次输入,多次运行的,比如我们用边界值,等价类设计的很多测试数据需要执行,比如业务流程需要执行很多遍的时候我们就可以使用web自动化测试

二、web自动化测试的工具
现在主流的web测试工具我们常用的就是selenium的那一套工具包括

浏览器一般选择chrome
浏览器对应的driver(chromedriver)
Python
Selenium库

三、web自动化测试的环境安装
浏览器安装 下载浏览器下一步按照就好了
chromedriver 下载 可以到 npmmirror.com/
注:100的大版本对的上就Ok了

四、web自动化测试的方法
Web自动化测试一般使用设计测试用例的方法跟功能测试相同,使用等价类划分,边界值,因果图,场景法等等就好了

Web自动化测试实施的使用我们一般会采用po模式设计

PO是page object的简称,核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化, 只需要调整页面元素封装的代码,提高测试用例的可维护性、可读性。

PO模式可以把一个页面分为三层,对象库层、操作层、业务层。

对象库层:封装定位元素的方法。

操作层:封装对元素的操作。

业务层:将一个或多个操作组合起来完成一个业务功能。

比如登录:需要输入帐号、密码、点 击登录三个操作。

测试脚本只需要调用业务层代码就可以完成

当出现页面需要的时候只需要测试代码可以完全不用修改只需要修改操作层就好了

五、web自动化测试的流程实施
web自动化测试流程和功能测试基本一致:

下面我们已登录需求为例

(1)需求分析

 这里我们以手机登录为例

(2)设计测试用例与测试数据

自动化测试测试用例不用像手工测试设计的那么详细

 【下方为测试数据】

[{"username": "21888888888","pwd": "123456","code": "8888","ast_msg": "账号格式不匹配","desc": "用户名错误"},{"username": "12888888888","pwd": "123456","code": "8888","ast_msg": "账号格式不匹配","desc": "用户名错误"},{"username": "1088888888","pwd": "123456","code": "8888","ast_msg": "账号格式不匹配","desc": "用户名错误"},{"username": "138888888889","pwd": "123456","code": "8888","ast_msg": "账号格式不匹配","desc": "用户名错误"},{"username": "32888888888","pwd": "123456","code": "8888","ast_msg": "账号格式不匹配","desc": "用户名错误"},{"username": " ","pwd": "123456","code": "8888","ast_msg": "用户名不能为空","desc": "用户名错误"}
]

(3)搭建web自动化测试环境

在上面环境安装那里已经搭建了

(4)设计web自动化测试框架

一般测试po模式的内容包括

(5)编写代码

在po文件夹中创建page_login

	from selenium.webdriver.common.by import Byfrom utils import UtilsDriverfrom base.page_base import BasePage# 界面对象层class PageLogin(BasePage):# 账号元素def find_username(self):return self.driver.find_element_by_id("username")# return self.driver.find_element(*self.username)# return self.get_element(self.username)# 密码元素def find_pwd(self):return self.driver.find_element(By.ID,"password")# 验证码元素def find_vcode(self):return self.driver.find_element_by_id("verify_code")# 按钮开始登录元素def find_login_btn(self):# return self.driver.find_element_by_name("sbtbutton")return self.driver.find_element(By.NAME,"sbtbutton")# 操作层
class HandleLogin(object):def __init__(self):self.page_login=PageLogin()def input_username(self,username):self.page_login.find_username().send_keys(username)def input_pwd(self,pwd):self.page_login.find_pwd().send_keys(pwd)def input_vcode(self,code):self.page_login.find_vcode().send_keys(code)def click_login_btn(self):self.page_login.find_login_btn().click()# 业务层# 输入用户名密码验证码 点击登录
class LoginProxy(object):def __init__(self):self.handle_login = HandleLogin()def login(self,username,pwd,code):self.handle_login.input_username(username)self.handle_login.input_pwd(pwd)self.handle_login.input_vcode(code)self.handle_login.click_login_btn()

脚本执行代码 创建test_login

# from selenium import webdriverfrom po.page_home import HomeProxyfrom po.page_login import LoginProxyfrom utils import UtilsDriver,get_dataimport timeimport pytestimport allure@allure.feature("登录功能")class Test_login:def setup_class(self):self.login_p=LoginProxy()self.home_p=HomeProxy()def setup(self):# 进入首页UtilsDriver.get_driver().get("http://127.0.0.1/")# 进入到login界面self.home_p.go_login_page()def teardown_class(self):time.sleep(2)UtilsDriver.quit_driver()@pytest.mark.parametrize(["username","pwd","code","asrt_msg"],get_data())@allure.story("登录用户名错误")def test_login_username_error(self,username,pwd,code,asrt_msg):self.login_p.login(username,pwd,code)time.sleep(1)# 登录是否成功的预期结果res = UtilsDriver.get_msg()assert asrt_msg in res

 (6)执行测试用例

可以使用pytest控制测试用例的执行

@pytest.mark.parametrize([“username”,“pwd”,“code”,“asrt_msg”],get_data())[pytest]
addopts = -s --alluredir report
testpaths = ./script
python_files = test_*.py *test.py
python_classes = Test_*
python_functions = test_*

(7)生成测试报告

可以使用allure生成测试报告

 如果你还有许多困惑,那么我整理的视频资源和文档会是你的良师益友,或许可以给你带来一些实际性的帮助与突破【保证100%免费】

  


http://chatgpt.dhexx.cn/article/aYxy1L2x.shtml

相关文章

web-自动化测试流程

1. 自动化测试流程 (1) 需求分析 (2) 挑选适合做自动化测试的功能 (3) 设计测试用例 (4) 搭建自动化测试环境 [可选] (5) 设计自动化测试项目的架构 [可选] (6) 编写代码 (7) 执行测试用例 (8) 生成测试报告并分析结果 2、自动化项目框架自动化框架 ① 顺序&#xf…

功能测试(一)—— web项目环境与测试流程、业务流程测试

目录 目标 一、web项目环境说明 【了解】 ​编辑 1.1 环境的定义 1.2 环境(服务器)的组成 1.3 面试题:你们公司有几套环境? 二、熟悉商城项目 【了解】 2.1 商城项目的核心业务 2.2 商城项目的核心功能模块 三、测试流程的应用 【重点】 3.1 需…

Web测试流程和方法来看这里~

一、测试流程 所有测试的流程大体上是一致的:开始测试前准备-->需求分析-->测试设计(测试计划,测试用例)-->执行测试-->提交BUG-->测试总结。 对于web测试,较之其他软件测试又有所不同,这…

Web自动化测试的详细流程和步骤,一篇足矣

Web自动化测试是软件测试中非常重要的一种测试方法,它通过编写脚本来模拟人工操作网页,从而实现对Web应用程序进行自动化测试的过程。为了保证测试质量和效率,我们需要遵循一定的流程和步骤来完成Web自动化测试。 一、测试环境准备 在进行W…

[教程]Web自动化测试怎么做?Web网页测试全流程解析

1、功能测试 web网页测试中的功能测试,主要测试网页中的所有链接、数据库连接、用于在网页中提交或获取用户信息的表单、Cookie 测试等。 (1)查看所有链接: 测试从所有页面到被测特定域的传出链接。测试所有内部链接。测试链接…

web测试流程有哪些?重点是什么?我来告诉你

目录 前言 一、立项后测试需要拿到的文档 二、需求评审 三、用例编写(同时根据开发计划编写测试计划) 四、用例评审 五、测试执行 六、测试报告及操作手册 前言 项目的测试流程大致包含的几个阶段:立项、需求评审、用例评审、测试执行…

Web自动化测试怎么做?Web网页测试全流程解析

1、功能测试 web网页测试中的功能测试,主要测试网页中的所有链接、数据库连接、用于在网页中提交或获取用户信息的表单、Cookie 测试等。 (1)查看所有链接: 测试从所有页面到被测特定域的传出链接。 测试所有内部链接。 测…

Web自动化测试如何做?Web自动化测试的详细流程和步骤

一、什么是web自动化测试 自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目…

[方向]国外作者笔下的中国创业指南

摘要:国外媒体TheNextWeb刊登了一篇中国创业指南的文章,内容从五个方面剖析了中国移动市场的创业机遇和环境,文中最后还提出一些他们认为很知名的投资商。当局者迷,让我们看看在外国人眼中的中国市场拥有什么神奇色彩。 随着移动、…

创业公司

掌赢信息科技(上海)有限公司编辑掌赢信息科技一般指掌赢信息科技(上海)有限公司 资料已通过 工商局官网 查验核实 掌赢信息科技(上海)有限公司 成立时间 2011-03-17 注册资本 1020万元人民币 企业类型 一…

“斯坦福系”的中国创业者

有的人不读大学就能改变世界,但i黑马认为还是上个好大学你创业成功的几率会大得多。i黑马接触的成功创业者中,有60%~80%都是名校毕业生。 有的人不读大学就能改变世界,但i黑马认为还是上个好大学你创业成功的几率会大得多。i黑马接…

创业,到底去哪里?

大数据产业创新服务媒体 ——聚焦数据 改变商业 1998年的夏天,IDG在中国开了第一枪。2000万人民币的投资代表了中国VC元年启动。之后开始了两轮巨大的互联网流量红利。第一次属于2000-2010年,这一代是PC时代的互联网;2010年开始到今天&#…

国外作者笔下的中国创业指南

摘要:国外媒体TheNextWeb刊登了一篇中国创业指南的文章,内容从五个方面剖析了中国移动市场的创业机遇和环境,文中最后还提出一些他们认为很知名的投资商。当局者迷,让我们看看在外国人眼中的中国市场拥有什么神奇色彩。 随着移动、…

30个有发展前景的创业项目

30个有发展前景的创业项目 创业项目指创业者为了达到商业目的具体实施和操作的工作。以下是小编整理的30个有发展前景的创业项目,仅供参考,大家一起来看看吧。 30个有发展前景的创业项目1 有发展前景的行业:环保领域 包括垃圾回收、加工利用…

关于创业

作者:xubin341719 创业是个美妙的话题,身边不乏朋友创业。 可是发现一个共同的现象,那就是开始创业的人(电子方面),好多都卡在PCBA这块。不是板子贴的有问题,就是PCB layout的过程中出问题&a…

创业了...

大家好,我是楼仔! 告诉大家一个消息,我创业了!!! 不过我这个属于兼职创业,老本肯定还是不能丢,楼哥的房贷和车贷,都还指望这个还,中年男人,都不…

老外的“中国创业指南”

最近老外也看上了中国移动市场这块肥肉了,TNW更是悉心列出中国创业指南,旁观者清,来看看他们眼里中国移动市场是怎样的,他们打算从哪里入手? 如果你需要潜在的创业市场,中国是块又大又香的肥肉,…

国外优秀区块链创业公司梳理

本文属于转载文章,原文请点击这里 引言 本文按照公司的服务类别类别总结了40家国外目前区块链的创业公司,旨在帮助技术人员和创业人员加深对区块链技术和行业的认知。服务类别总体分类2类:金融服务和非金融服务,其中金融服务包括电…

android的单元测试,Android 单元测试(Button 点击测试)

android源码中引入了java单元测试的框架(android源码目录:libcore\junit\src\main\java\junit\framework中可见),然后在java单元测试框架的基础上扩展属于android自己的测试框架。android具体框架类的关系图如下: 从上图的类关系图中可以知道,通过android测试类可以实现对a…

android单元测试教程,Android单元测试-Junit

基本用法实际操作 public class Caculation { public double sum(double numA, double numB) { return numA numB; } public double multiply(double numA, double numB) { return numA * numB; } } 2、类名右键--Go To--Test,生成测试类 项目中androidTest文件夹里…