位置: IT常识 - 正文

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

编辑:rootadmin
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增加检测层)

  • 怎么充值qq音乐饭票(怎么充值qq音乐会员)

    怎么充值qq音乐饭票(怎么充值qq音乐会员)

  • 为什么qq空间没有查看权限(为什么qq空间没人点赞)

    为什么qq空间没有查看权限(为什么qq空间没人点赞)

  • airpods充电时指示灯不亮(airpods充电时指示灯是什么颜色)

    airpods充电时指示灯不亮(airpods充电时指示灯是什么颜色)

  • 屏幕指纹手机应该贴什么膜(手机屏幕指纹锁)

    屏幕指纹手机应该贴什么膜(手机屏幕指纹锁)

  • oppo a8上市时间(oppoa8手机多少钱)

    oppo a8上市时间(oppoa8手机多少钱)

  • 钉钉能用电脑登录吗(钉钉用电脑登录会显示嘛)

    钉钉能用电脑登录吗(钉钉用电脑登录会显示嘛)

  • 操作系统位于什么之间(操作系统位于什么接口)

    操作系统位于什么之间(操作系统位于什么接口)

  • 钉钉上撤回的信息别人可以看见吗(钉钉撤回的信息别人能看见吗)

    钉钉上撤回的信息别人可以看见吗(钉钉撤回的信息别人能看见吗)

  • 苹果8后摄像头和手电筒打不开(苹果8后摄像头黑屏怎么回事)

    苹果8后摄像头和手电筒打不开(苹果8后摄像头黑屏怎么回事)

  • 怎样修改app的图标和名字(怎么修改app的名字和图片)

    怎样修改app的图标和名字(怎么修改app的名字和图片)

  • 华为荣耀9x蓝牙版本是多少(华为荣耀9x蓝牙维修论坛)

    华为荣耀9x蓝牙版本是多少(华为荣耀9x蓝牙维修论坛)

  • 微信登录设备管理为什么有人登录(微信登录设备管理显示登录过)

    微信登录设备管理为什么有人登录(微信登录设备管理显示登录过)

  • 华为平板m5返回键在哪里设置(华为平板返回设置)

    华为平板m5返回键在哪里设置(华为平板返回设置)

  • mp4和mov格式区别(mov比mp4清晰吗)

    mp4和mov格式区别(mov比mp4清晰吗)

  • 美团的极速支付是什么意思(美团的极速支付在哪里)

    美团的极速支付是什么意思(美团的极速支付在哪里)

  • 如何一次打印多个pdf

    如何一次打印多个pdf

  • 怎样把电脑上的歌曲下载到u盘上(怎样把电脑上的微信聊天记录转移到手机上)

    怎样把电脑上的歌曲下载到u盘上(怎样把电脑上的微信聊天记录转移到手机上)

  • iphone11pro max是几核(iphone11pro max是几寸屏)

    iphone11pro max是几核(iphone11pro max是几寸屏)

  • 电脑显示信号无输入怎么办(电脑显示信号无输入是什么意思)

    电脑显示信号无输入怎么办(电脑显示信号无输入是什么意思)

  • 目录前怎么填空白页(目录前面的文字叫什么)

    目录前怎么填空白页(目录前面的文字叫什么)

  • 苹果8的屏幕尺寸(苹果8的屏幕尺寸和13对比)

    苹果8的屏幕尺寸(苹果8的屏幕尺寸和13对比)

  • 学习网络安全需要哪些基础知识(网络安全方面需要学什么)

    学习网络安全需要哪些基础知识(网络安全方面需要学什么)

  • 猎豹浏览器如何设置兼容模式(猎豹浏览器如何清除缓存)

    猎豹浏览器如何设置兼容模式(猎豹浏览器如何清除缓存)

  • 苹果x韩版和国行的区别(苹果x韩国版质量如何)

    苹果x韩版和国行的区别(苹果x韩国版质量如何)

  • 默认网关不可用win10解决方法(以太网默认网关不可用)

    默认网关不可用win10解决方法(以太网默认网关不可用)

  • vue3框架Vite + vue Router + ts 登录后返回上一页或首页(vue3框架的优点)

    vue3框架Vite + vue Router + ts 登录后返回上一页或首页(vue3框架的优点)

  • 万字长文:Stable Diffusion 保姆级教程(万字长文护国安是谁写的)

    万字长文:Stable Diffusion 保姆级教程(万字长文护国安是谁写的)

  • 一般纳税人每个月需要报哪些税
  • 锦州税务师考试在哪个学校
  • 购买理财产品计入交易性金融资产
  • 企业流动资产周转率下降的原因
  • 反写不了是为什么
  • 印花税计税依据是什么
  • 开票可以只开大数据吗
  • 网上银行回单是什么意思
  • 管理费用中税金分录怎么写
  • 出租的土地使用权是无形资产吗
  • 本地的住宿费怎么交
  • 可以抵扣的税控发票
  • 房东收到房租转让费会计处理
  • 房产税从租计征12%是年税率吗
  • 网上申报增值税怎么操作
  • 收到运费发票的会计分录
  • 计提贷款损失准备金遵循以下原则
  • 购买软件平台信息服务费怎么做账?
  • 混合销售行为如何界定
  • 生产前和生产后经常长喘气怎么回事
  • 增值税普票丢失发票联能重开吗
  • 金税盘怎么清盘视频
  • 劳务费按次500元
  • 其他公司代付工资怎么做
  • 企业不动产如何带抵押转让
  • 企业开增值税普通发票 电子版
  • 材料验收入库的会计科目
  • 贷款服务开票开具要求
  • 固定资产转入清理记账凭证
  • 9个点的税率有哪些
  • mac系统怎么删除用户
  • 防疫物资费用会计处理
  • 成本转入费用
  • 这张磁盘有写保护无法格式化
  • 进程program
  • 用gpu运行python
  • 结转成本类账户到本年利润的会计分录
  • 新闻发布管理系统
  • 2020注册谷歌账号方法
  • ps调整边缘在哪里快捷键
  • 二手车征税税率减按多少税
  • 商誉减值损失怎么填
  • 企业低值易耗品的摊销方法有
  • 计提制造费用
  • 无票收入增值税怎么申报
  • 所得税怎么收取
  • 以前年度损益调整借贷方向
  • 银行怎么划分标准
  • 发票清单用什么章
  • 研究费用记入什么费用
  • 电子银行承兑汇票
  • 利息收入的会计科目
  • 公司银行账号注销需要法人到场吗
  • 发现以前的账做错了
  • 金融企业借款费用计入
  • mysql时间语句
  • win8系统如何安装软件
  • instmsiw.exe进程简介
  • windows内核版本9600
  • 用户账户限制
  • winxp显示设置
  • win8应用商店无法连接网络
  • WIN10系统如何修复
  • dns win7
  • win10系统以太网连接图标不见了怎么办
  • 文件夹windows
  • windows10预览版是什么
  • linux网卡添加vlan
  • cocos2dx4.0教程
  • Android自定义对话框
  • pygal python
  • opengl中点画圆算法
  • 安卓自定义app
  • jquerycdn
  • jquery常用操作
  • csx脚本
  • 推荐几个非常有趣的书
  • 税控普通发票
  • 税务怎么在外网申报
  • 地税怎么交税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设