位置: IT常识 - 正文

Web自动化测试怎么做?Web自动化测试的详细流程和步骤(web 自动化测试)

发布时间:2024-01-17
Web自动化测试怎么做?Web自动化测试的详细流程和步骤 一、什么是web自动化测试

推荐整理分享Web自动化测试怎么做?Web自动化测试的详细流程和步骤(web 自动化测试),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:webui自动化测试,web自动化测试项目,web自动化测试的常用测试工具,web自动化测试项目,web自动化测试方法,web自动化测试项目,web自动化测试怎么做,web 自动化测试,内容如对您有帮助,希望把文章链接给更多的朋友!

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

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

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

二、web自动化测试的工具

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

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

四、web自动化测试的方法

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

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

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

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

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

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

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

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

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

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

五、web自动化测试的流程实施

web自动化测试流程和功能测试基本一致:

下面我们已登录需求为例

(1)需求分析

Web自动化测试怎么做?Web自动化测试的详细流程和步骤(web 自动化测试)

这里我们以手机登录为例

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

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

ID测试模块标题前置条件测试输入login_001登录错误的手机号登录网络正常,功能正常手机号错误其他输入项正常

【下方为测试数据】

[ { "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 reporttestpaths = ./scriptpython_files = test_*.py *test.pypython_classes = Test_*python_functions = test_*

(7)生成测试报告

可以使用allure生成测试报告

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助,有需要的朋友你可以关注个人公众号:程序员一凡 获取软件测试资源。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近100个G。

☑ 215集-零基础到精通全套视频课程 ☑ [课件+源码]-完整配套的教程 ☑ 18套-测试实战项目源码 ☑ 37套-测试工具软件包 ☑ 268道-真实面试题 ☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

本文链接地址:https://www.jiuchutong.com/zhishi/299753.html 转载请保留说明!

上一篇:深度学习--超参数(持续更新)(超参数有哪些调优方法)

下一篇:YOLOV7改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU(yolov5增加检测层)

  • 华为nova9录屏在哪(华为nova录屏怎么录内部声音)

    华为nova9录屏在哪(华为nova录屏怎么录内部声音)

  • 手机金山文档编辑完怎么保存(手机金山文档编辑数字是乱码)

    手机金山文档编辑完怎么保存(手机金山文档编辑数字是乱码)

  • 微信动态头像怎么弄(微信动态头像怎么设置上去)

    微信动态头像怎么弄(微信动态头像怎么设置上去)

  • 微信叫车服务在哪里(微信叫车服务在哪里打开)

    微信叫车服务在哪里(微信叫车服务在哪里打开)

  • 华为Mate10支持光学防抖吗(华为mate10pro支持光学防抖吗)

    华为Mate10支持光学防抖吗(华为mate10pro支持光学防抖吗)

  • 图片后缀格式怎么改(图片后缀格式文件)

    图片后缀格式怎么改(图片后缀格式文件)

  • opporeno4多大屏幕(oppo reno4手机参数)

    opporeno4多大屏幕(oppo reno4手机参数)

  • 乐心体脂秤怎么连手机(乐心体脂秤怎么重启)

    乐心体脂秤怎么连手机(乐心体脂秤怎么重启)

  • cad填充命令是什么(cad2019填充命令)

    cad填充命令是什么(cad2019填充命令)

  • 什么是id机(什么是iphone id机)

    什么是id机(什么是iphone id机)

  • 为什么ps保存不了pdf(为什么ps保存不了显示程序错误)

    为什么ps保存不了pdf(为什么ps保存不了显示程序错误)

  • rneal00是华为什么型号(rne-al00是)

    rneal00是华为什么型号(rne-al00是)

  • 什么叫抖音垂直度(什么叫抖音垂直视频)

    什么叫抖音垂直度(什么叫抖音垂直视频)

  • 苹果x有夜拍模式吗(苹果x夜拍模式)

    苹果x有夜拍模式吗(苹果x夜拍模式)

  • 移动智能组网是什么意思(移动的智能组网怎么收费)

    移动智能组网是什么意思(移动的智能组网怎么收费)

  • 物联卡可以共享热点吗(物联卡共享流量池使用太快)

    物联卡可以共享热点吗(物联卡共享流量池使用太快)

  • 苹果手机看视频卡顿是什么原因(苹果手机看视频没有声音怎么回事)

    苹果手机看视频卡顿是什么原因(苹果手机看视频没有声音怎么回事)

  • 360safe是什么文件夹(360safe在哪)

    360safe是什么文件夹(360safe在哪)

  • 手机重启忘记密码怎么办(手机重启忘记密码怎么开机)

    手机重启忘记密码怎么办(手机重启忘记密码怎么开机)

  • 电脑关机慢的解决方法(电脑关机慢咋办)

    电脑关机慢的解决方法(电脑关机慢咋办)

  • 坦白说获得线索对面知道吗(坦白说获得线索对方能看到吗)

    坦白说获得线索对面知道吗(坦白说获得线索对方能看到吗)

  • qq手机在线和wifi在线有什么区别吗(qq手机在线和wifi在线是实时的吗)

    qq手机在线和wifi在线有什么区别吗(qq手机在线和wifi在线是实时的吗)

  • 快手小店多久可以提现(快手小店多久可以收到货款)

    快手小店多久可以提现(快手小店多久可以收到货款)

  • 苹果xr无线充电伤手机吗(苹果xr无线充电功能在哪里打开)

    苹果xr无线充电伤手机吗(苹果xr无线充电功能在哪里打开)

  • 12306官网43003操作失败是什么意思(12306.cn)

    12306官网43003操作失败是什么意思(12306.cn)

  • Oppo reno的产品配置(oppo reno标配版参数)

    Oppo reno的产品配置(oppo reno标配版参数)

  • beatsx开机键在哪

    beatsx开机键在哪

  • 电脑怎么进入BIOS设置?(电脑怎么进入bios中文)

    电脑怎么进入BIOS设置?(电脑怎么进入bios中文)

  • yolov5_reid【附代码,行人重识别,可做跨视频人员检测】(yolov5 libtorch)

    yolov5_reid【附代码,行人重识别,可做跨视频人员检测】(yolov5 libtorch)

  • 简易征收预缴税率怎么算
  • 注册资本印花税怎么交?什么时候交?
  • 公户购买理财怎么做账
  • 法人可以是办税人和发票领购人吗
  • 收到固定资产发票抵扣进项税
  • 蓝字发票有认证的吗
  • 行政事业单位无偿调拨资产会计处理
  • 税款追征期起算点 增值税重新计算
  • 工资扣款做什么科目
  • 确认收入时需要结转成本吗
  • 转让土地及地上建筑物
  • 先取得发票后付款说明
  • 分次缴纳的注册资本入什么科目?
  • 计提工会经费是按应付职工薪酬的借方还是贷方
  • 非独立核算的分公司是法人主体吗
  • 印花税一定要贴花吗
  • 代收电费可以开发票吗
  • 银行贷款利息可以减免吗
  • 普通发票查不到信息怎么办
  • 小规模纳税季度申报
  • 金税盘开票时间不对怎么办
  • 不缴地税国税可停票吗?
  • 民办中小学收费新政策
  • 代收车船税是什么意思必须收吗
  • 外商投资企业补税政策
  • 初级备考计划表
  • 固定资产达到使用状态时发生的安装费用
  • windows 发布时间
  • window10 怎么避免弹窗广告
  • win10开机启动文件路径
  • 进项税和销项税怎么算
  • 其他业务成本属于成本类吗
  • 直接人工分配按计时工资怎么分
  • php怎么启动
  • pow是什么意思中文翻译
  • neoCapture.exe - neoCapture是什么进程 有什么用
  • 企业收到款项
  • 显卡性能排行榜2023
  • 支付本月职工薪酬
  • php用户会员系统
  • php中的die
  • 包装物逾期是什么意思
  • PHP:mdecrypt_generic()的用法_Mcrypt函数
  • 怎么解锁城堡上空
  • php正则表达式匹配字符串
  • 固定资产非正常损失
  • 研发人员的差旅费可以加计扣除吗
  • 企业利润总额为负
  • js获取当前日期的函数
  • php生成证书图片
  • 实用工具书推荐
  • css点击菜单显示内容
  • ChatGPT的火爆出圈,你对它有几分了解?
  • php制作验证码
  • uncompressing
  • 广告系统源码
  • 公司扣个税查不到怎么办
  • 织梦如何使用
  • 进口货物会计分录举例
  • 企业所得税表利润总额是净利润吗
  • 走账犯罪吗
  • 税务房屋租赁发票的开具规定
  • 未认证进项税额会计分录
  • 境外情况
  • 工厂厨房厨具
  • 预提成本费用的会计分录
  • 现金劳务收入会计分录
  • 会计软件包括
  • 工业企业低值易耗品二级科目
  • 被放弃的遗产
  • 海尔电脑优盘启动键
  • centos7编译安装内核
  • win8系统安装步骤
  • 如何关闭win8的windows defender
  • win7系统误删文件可以恢复吗
  • win7 netplwiz
  • jquery怎么设置宽度
  • python设计作品
  • js正则regexp
  • 重庆市医疗保障局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号