
自动化测试
文章平均质量分 80
bug捕手
十年铸剑,只为炉火纯青;一朝出鞘, 定当倚天长鸣。
展开
-
简单入门seleniumUI自动化测试
Selenium是一个流行的自动化测试工具,用于测试Web应用程序的功能和用户界面。它可以模拟用户在浏览器中的操作,如点击、输入文本、选择下拉框等,以及验证页面元素的状态和属性。Selenium可以帮助测试人员自动执行重复的测试任务,提高测试效率并减少人工错误。原创 2023-08-11 15:38:22 · 1439 阅读 · 0 评论 -
【Python】单元测试框架unitest及其高级应用
在每次运行测试之前,都要手动修改报告的名称,如果忘记修改,就会把之前的报告覆盖,为了使每次生成的报告名称都不重复并且有意义,最好的方法是在报告名称中加入当前时间,这样生成的报告既不会重叠,又能更清晰的知道报告的生成时间。方法:通过时间操作的方法以指定的格式获取当前时间,将当前时间的字符串赋值给now变量,将now通过加号(+)拼接到生成的测试报告的文件名中,再次运行测试用例,生成测试报告文件名。.py':表示用例文件名的匹配原则,此处文件名以“test”开头的“.py”类型的文件,“原创 2023-08-09 15:13:13 · 533 阅读 · 0 评论 -
解决selenium的“can‘t access dead object”错误
在python执行过程中,提示selenium.common.exceptions.WebDriverException: Message: TypeError: can't access dead object。之后我会在评论区挨个私信发给你们~原创 2023-08-09 15:06:43 · 1575 阅读 · 0 评论 -
基于Python 简易实现接口测试自动化
使用excel管理用例用例信息,requests模块发送http请求,实现了记录日志,邮件发送测试报告的功能。config目录下,config.py 获取配置文件信息的模块。之后我会在评论区挨个私信发给你们~原创 2023-08-09 14:57:23 · 1368 阅读 · 0 评论 -
使用Pytest集成Allure生成漂亮的图形测试报告
之前写过一篇生成测试报告的博客,但是其实Allure首先是一个可以独立运行的测试报告生成框架,然后才有了Jenkins的集成插件。这一次主要介绍如何把Allure集成到Python的Pytest单元测试框架中。原创 2023-08-08 16:16:56 · 1032 阅读 · 0 评论 -
【Golang】基于录制,自动生成go test接口自动化用例
之前写过一篇博客,介绍怎么用Python通过解析抓包数据,完成自动化用例的编写。最近这段时间在使用go test,所以就在想能不能也使用代码来生成自动化用例,快速提升测试用例覆盖率。说干就干。原创 2023-08-01 16:26:57 · 1457 阅读 · 0 评论 -
【Golang】解决Go test执行单个测试文件提示未定义问题
测试单个文件,一定要带上被测试的原文件,如果原文件有其他引用,也需一并带上。原创 2023-07-31 16:04:01 · 941 阅读 · 0 评论 -
【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试
Mock是一个做自动化测试永远绕不过去的话题。本文主要介绍使用标准库完成HTTP请求的Mock的测试方法。可能有的小伙伴不太了解mock在实际自动化测试过程中的意义,在我的另外一篇博客中有比较详细的描述,在本文中我们可以简单理解为它可以解决测试依赖。下面我们一起来学习它。将下面的内容保存到weather.goimport ("fmt""net/http"const (if err!= nil {根据我们前面的场景设定,依赖接口是不可用的,所以。原创 2023-07-31 16:01:59 · 1305 阅读 · 0 评论 -
【Golang 接口自动化07】struct转map的三种方式
从测试结果可以看到,三种方式都能完成struct转map,但是reflect方法无法识别结构体中的tag,第三方库只能使用tagstructs,所以如果考虑兼容性(考虑到协同开发)和尽量使用官方库的原则,推荐使用第一种方法(json转换)。原创 2023-07-31 16:00:06 · 1879 阅读 · 0 评论 -
【Golang 接口自动化06】微信支付md5签名计算及其优化
可能看过我博客的朋友知道我主要是做的支付这一块的测试工作。而我们都知道现在比较流行的支付方式就是微信支付和支付宝支付,当然最近在使用低手续费大力推广的京东金融(已改名为京东数科)以后也可能站到第一队列,但是要在中国市场走到和财付通、蚂蚁金服一个层级就任重而道远了。废话不多说,我们一起来看看微信支付签名的官方文档。搜索微信支付--点击支付开发文档--接口规则--安全规范。原创 2023-07-31 15:58:21 · 481 阅读 · 0 评论 -
【Golang 接口自动化05】使用yml管理自动化用例
下面我们以登陆为例来编写测试用例,将下面这些信息保存到Testsuit: 登录description: 用户中心登录测试TestCases:detail: 正常登陆data:check:- pr- userIddetail: 密码错误data:check:- 密码错误detail: 必填参数未填,不填密码data:check:- 必填参数未填detail: 密码错误data:check:- 密码错误detail: 密码错误data:check:- 密码错误。原创 2023-07-31 15:56:04 · 1387 阅读 · 0 评论 -
【Golang 接口自动化04】 解析接口返回JSON串
上一次我们一起学习了如何解析接口返回的XML数据,这一次我们一起来学习JSON的解析方法。JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读。XML是一个完整的标记语言,而JSON不是。JSON比XML更小、更快,更易解析,因此其被广泛应用于网络数据传输领域。Go语言的标准库已经非常好的支持了JSON,可以很容易的对JSON数据进行编、解码的工作。下面我们通过一些实例一起来学习。"describe": "成功",原创 2023-07-30 15:50:22 · 743 阅读 · 1 评论 -
【Golang 接口自动化03】 解析接口返回XML
上一篇我们学习了怎么发送各种数据类型的http请求,这一篇我们来介绍怎么来解析接口返回的XML的数据。原创 2023-07-30 15:49:08 · 1103 阅读 · 0 评论 -
【Golang 接口自动化02】使用标准库net/http发送Post请求
上一篇我们介绍了使用net/http发送get请求,因为考虑到篇幅问题,把Post单独拎了出来,我们在这一篇一起从源码来了解一下Golang的Post请求。Json、xml请求请求、响应数据简析interface概念复习。原创 2023-07-30 15:45:57 · 1879 阅读 · 0 评论 -
【Golang 接口自动化01】使用标准库net/http发送Get请求
考虑到篇幅,我们把发送Get、Post单独出来。我们在下一篇一起学习怎么发送Post请求。那么在golang中有没有想过的方法呢,答案是有的,但是只有一个半成品。使用Golang发送get请求很容易,我们还是使用。之后我会在评论区挨个私信发给你们~中我们可以看到一个结构体。作为服务端来进行演示。原创 2023-07-30 15:42:59 · 1319 阅读 · 0 评论 -
httprunner2.0 概述及使用说明
HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。原创 2023-06-29 17:05:03 · 728 阅读 · 0 评论 -
Selenium教程__使用switch_to.alert处理弹窗(14)
与switch_to.window 和 switch_to.frame 相比,switch_to.alert的alert方法使用了@property 装饰器,所以在使用时alert被当成属性调用。最后祝大家早日达到测试的天花板!原创 2023-06-21 15:02:54 · 843 阅读 · 0 评论 -
Selenium教程__使用switch_to.frame处理网页框架切换(13)
与在新窗口打开一个网页后需要切换窗口才能定位元素一样,在iframe标签中的元素也不能直接定位,需要切换到对应的iframe框架中才能进行元素定位。下面以网易邮箱(https://www.126.com/)演示网页的框架切换。完成网页框架切换操作需要用selenium中的两个方法。最后祝大家早日达到测试的天花板!原创 2023-06-21 15:02:23 · 3126 阅读 · 0 评论 -
Selenium教程__使用switch_to.window方法处理窗口切换(12)
想一下这样的场景,打开页面A点击一个链接,在一个新的窗口打开页面B,由于之前的driver实例对象在页面A,但是你接下来操作的元素在页面B中,此时脚本就会报错找不到元素。该场景需要使用到selenium的switch_to.window()方法进行窗口切换。演示场景:打开百度首页(页面A),点击新闻链接(在一个新窗口打开页面B),点击新闻界面的互联网专题。最后祝大家早日达到测试的天花板!原创 2023-06-21 15:01:45 · 1204 阅读 · 0 评论 -
Selenium教程__使用execute_script执行JavaScript(11)
selenium的包含的方法已能完全满足UI自动化,但是有些时候又不得不用到执行JS的情况,比如在一个富文本框中输入1W个字,使用send_keys方法将经历漫长的输入过程,如果换成使用JS的innerHTML方法就能够很快的完成输入。先简单写个html界面帮助演示。原创 2023-06-21 15:03:12 · 1491 阅读 · 0 评论 -
Selenium教程__单选框和复选框的选中状态判定以及元素是否可用和可见判定(10)
简单写个单选框和复选框界面原创 2023-06-21 15:02:29 · 1170 阅读 · 0 评论 -
Selenium教程__界面的刷新、后退、前进操作(4)
通过学习本文内容,您将能够掌握Selenium中相关API的使用方法,并能够灵活地应用到您的项目中,从而提升用户体验和系统稳定性。本文将介绍如何使用Selenium来实现界面的刷新、后退和前进操作,以便于测试、开发人员能够更好地控制和管理用户界面的交互行为。原创 2023-06-20 15:14:37 · 1044 阅读 · 0 评论 -
Selenium教程__获取元素文本、属性值、尺寸(8)
以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以留言【777】直接拿走就好了。本文将介绍如何使用Selenium来获取元素的文本内容、属性值和尺寸,并展示一些实际应用场景。学习本文内容将能够轻松地获取并利用元素的相关信息,从而更好地进行元素的验证、操作和断言。最后祝大家早日达到测试的天花板!原创 2023-06-20 15:14:55 · 1330 阅读 · 0 评论 -
Selenium教程__获取界面handle、title和url(7)
以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以留言【777】直接拿走就好了。学习本文内容将能够轻松地获取并利用界面的句柄、标题和URL,从而更好地跟踪和管理UI的状态和行为。本文将介绍如何使用Selenium来获取界面的句柄、标题和URL,并展示一些实际应用场景。最后祝大家早日达到测试的天花板!原创 2023-06-20 15:16:50 · 1043 阅读 · 0 评论 -
Selenium教程__浏览器窗口大小(6)
学习本文内容将能够轻松地控制浏览器窗口的大小,从而更好地适应不同的屏幕分辨率和设备,并确保网页在各种窗口大小下都能够良好地展示。以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以留言【777】直接拿走就好了。本文将介绍如何使用Selenium来获取和设置浏览器窗口的大小,以及一些实际应用场景。最后祝大家早日达到测试的天花板!原创 2023-06-20 15:14:49 · 1666 阅读 · 0 评论 -
Selenium教程__获取浏览器名称和版本(5)
通过学习本文内容,将能够轻松地获取并利用浏览器的信息,从而更好地适应不同的浏览器环境,并确保您的代码和测试脚本能够在各种浏览器中正常运行。原创 2023-06-20 15:16:43 · 645 阅读 · 0 评论 -
Selenium教程__元素定位(2)
Selenium操作页面上的文本输入框、按钮、单选框、复选框等,凡是能在页面显示的任何元素都需要先对元素进行定位。上面方法只会匹配查找只会获取第一个元素。当知道元素的id属性后,可以使用该方法定位元素。假如页面元素代码如下可以这样定位元素打印定位的元素当知道元素的name属性后,可以使用该方法定位元素。假如页面元素代码如下可以这样定位元素当知道链接元素的内容后,可以使用该方法定位元素。该方法需要完全匹配链接中的内容,若只是部分匹配链接中的内容则定位不到该元素。假如页面元素代码如下可以这样定位元素。原创 2023-06-19 16:04:16 · 3923 阅读 · 0 评论 -
Selenium教程__按钮的点击、文本框的输入和清除操作(3)
但是使用js的方法输入内容有一定缺陷性,它对常见 input标签类型的输入框无效,因为该js方法是向标签插入文本内容,而input标签的输入内容是保存在它的value属性中,所以该js方法只对富文本框生效。使用selenium的 send_keys 方法能够满足大多数情况的输入操作,但是在输入内容很多的情况下,使用该方法会消耗很多时间。以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以留言【777】直接拿走就好了。最后祝大家早日达到测试的天花板!原创 2023-06-19 16:32:17 · 3985 阅读 · 0 评论 -
Selenium教程__环境安装(1)
Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。Selenium基本上支持主流的浏览器,包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。接下来以Chrome浏览器为例演示如何搭建环境。原创 2023-06-19 15:09:48 · 1069 阅读 · 0 评论 -
Python的接口自动化-unittest测试框架和ddt数据驱动
针对测试用例加载以及执行控制,python语言提供了unittest单元测试框架,将测试用例编写在unittest框架下,使用该框架可以单个或者批量加载互不影响的用例执行及更灵活的执行控制,对于更好的进行测试数据的管理和加载,这里我们引入数据驱动的模块:ddt,测试数据和测试脚本的分离,通过ddt数据驱动来加载测试数据到测试用例脚本中,通常在接口自动化测试中会将unittest和ddt结合起来使用,从而实现测试用例脚本和测试数据的载入来完成测试的执行。原创 2023-06-12 17:00:18 · 1276 阅读 · 0 评论 -
Python的接口自动化-读写excel文件
在python进行接口自动化测试时,为了方便管理和存储测试用例数据,一般将测试数据编写存储在excel文件中,测试脚本通过读取excel文件来实现测试数据加载,并运行得出测试用例数据执行的结果,并回写测试结果到excel文件中,这样就实现了测试脚本和数据的分离。而python操作excel文件的读写,这里需要安装并引入第三方模块:xlrd和xlwt以及xlutils,xlrd为读取excel模块,xlwt为向excel写数据的模块,xlutils可以复制excel并修改excel中的数据。下面就具体介绍原创 2023-06-12 17:00:27 · 1416 阅读 · 0 评论 -
接口自动化测试新玩法!Python构建mock服务让你的测试更加高效!
它被称为微框架,“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或 Web服务。Mock 即模拟,就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,其最大的优势就是降级前后端耦合度,后面无论postman或者客户端发送的url中的ID参数是啥,都可以响应。原创 2023-06-11 16:31:57 · 735 阅读 · 0 评论 -
基于Python的接口自动化-pymysql模块操作数据库
{'username': '艾佛森', 'id': 1, 'passwd': '123'}, {'username': '科比', 'id': 2, 'passwd': '123'}, {'username': '詹姆斯', 'id': 3, 'passwd': '123'}, {'username': '库里', 'id': 4, 'passwd': '123'}]在进行增删改,执行修改数据库的操作后不立即生效,使用连接conn.commit()提交后才生效,支持事物及回滚。原创 2023-06-11 16:31:38 · 766 阅读 · 0 评论 -
基于Python的接口自动化-Requests模块
Requests库是python的第三方模块,requests模块在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得更加简洁和人性化,以下介绍python Requests模块的主要操作和应用。1. 网页数据爬虫,Requests能方便的构建和发送基于HTTP协议的网络请求,因此可以基于Requests来编写爬虫脚本,爬取互联网上目标网站的网页,提取网页源代码中的图片、文本、视频等数据,并可以将爬取的海量大数据应用于数据分析。原创 2023-06-11 16:26:04 · 834 阅读 · 0 评论 -
基于Python的接口自动化-JSON模块的操作
在使用Python进行接口自动化测试脚本时,一般都是脚本只写接口测试逻辑实现,而执行脚本时需要的测试用例数据都是写入excel、数据库或者指定的配置文件中,脚本通过读取这些测试数据来进行不同测试用例的执行,这样就做到了测试脚本和测试数据的分离,易于后续写实脚本的维护,这部分后续接口自动化框架来介绍怎么实现脚本和数据的分离。对象:{"employee":{ "name":"Bill Gates", "age":62, "city":"Seattle" }}字符串:{ "name":"John" }原创 2023-06-11 16:22:09 · 1268 阅读 · 0 评论 -
基于Python的接口自动化-读写配置文件
configparser模块主要封装提供了ConfigParser()类、RawConfigParser()类、SafeConfigParser()类等,如下图导入configparser模块,可以查看并使用模块下已经封装好的所有类在configparser模块中主要还是使用封装的ConfigParser()类提供的方法来操作配置文件,对配置文件进行数据读取和写入等。原创 2023-06-11 16:21:39 · 587 阅读 · 0 评论 -
基于Python的接口自动化-HTTP接口基本组成和网页构成
在我们进行接口测试时,了解HTTP接口的基本组成和网页构成是非常重要的。而Python作为一门功能强大、易学易用的编程语言,也提供了许多实用的工具来帮助我们进行接口自动化测试。如果你还没有掌握Python的接口自动化测试技能,那么这篇文章一定会为你提供很多有用的信息和知识。让我们一起来看看吧!原创 2023-06-09 15:57:23 · 621 阅读 · 0 评论 -
Python3+Selenium2完整的自动化测试实现之旅(七):完整的轻量级自动化框架实现
有太多类似的人学习总是三天晒鱼、两天打网的,完全沉不下心来学习东西,浅尝辄止,没有积淀,如果认定一个东西就去想办法搞定,加油!楼主也在为自己新的目标fighting中,当然目标是广义的,可以是生活方面、工作方面、情感方面.......,好像跑偏题了O(∩_∩)O,这些人生鸡汤似的废话就不说了,看看下面这个web自动化测试框架是如何实现的吧~原创 2023-06-09 15:41:01 · 737 阅读 · 0 评论 -
Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用
这篇文章讲述的是Python3+Selenium2自动化测试实现之旅的第六篇,主要是介绍如何运用Python单元测试模块Unittest进行测试。我个人觉得这篇文章非常有用,因为它为我们提供了一个简单而强大的工具来确保我们编写的代码能够正常运行。如果你还没尝试过使用Unittest,那么这篇文章一定会给你带来不少帮助和启发。原创 2023-06-09 15:27:29 · 408 阅读 · 0 评论 -
Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介
所谓的框架其实就是一个解决问题的思维,前言中描述的诸多问题如果得到解决,自然而然这种得到良好解决的东西它就可以称之为一个框架,只是这个框架用来解决如何组织开展自动化测试。一个典型的自动化测试框架一般包括测试用例集模块、测试执行控制模块、测试报告生成模块、日志记录模块、发送邮件模块、测试截图或者断言验证等模块,这些模块之间不是相互孤立的,而是相辅相成的存在。下图为基本的自动化框架的基本单元或模块:测试用例模块包括具体的测试用例脚本集、测试数据的管理以及公共函数库。原创 2023-06-08 21:20:15 · 656 阅读 · 0 评论