自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 UI自动化测试如何加强稳定性

很多人谈到UI自动化,第一个就是觉得投入产出比低,没有做的必要;确实ui自动化在投入上的成本确实是高,特别是当脚本不稳定和页面变化频繁的情况下维护成本是巨大的;而且UI自动化能发现的bug也相对较少,所以大部分公司都不会选择UI自动化。但如果要做那要怎么做呢,下面就来聊下我这边实现UI自动化的一些心得。

2023-04-12 16:28:35 724 1

原创 python-jenkins api详解

最近在将小程序自动化整合到平台,主要借助的是jenkins;本文主要讲解一下jenkins常用的api。

2022-12-14 20:56:04 2217

原创 jenkins windows节点中文乱码问题解决

本文主要讲解一下在jenkins中新增windows节点后的乱码问题逐步解决方法这里我就思考是因为jenkins的编码问题导致,所以我就网上找了方法在jenkins全局配置添加了环境变量:LANG=zh_CN.UTF-8

2022-12-07 13:00:00 3144 2

原创 jenkins-pipeline语法详解

在声明式的pipeline中默认无法使用脚本语法,但是pipeline提供了一个脚本环境入口:script{},通过使用script来包裹脚本语句,即可使用脚本语法。6.input:指令允许暂时中断pipeline执行,等待用户输入,根据用户输入进行下一步动作。通过将阶段设置为parallel来表明该stage为并行运行,但是需要注意以下几点。pipeline声明式具体代码使用示例:(自动打最新版本apk并执行自动化)引用的工具需要在管理页面的全局工具配置里配置过。5.tools:用于引用配置好的工具。

2022-11-15 08:54:25 4379

原创 微信小程序自动化实战(appium+python)

本文主要讲解一下使用appium操作微信小程序的流程要使用appium进行自动化第一步当然是配置好appium环境,这块我就不在这里细讲了,直接开始吧;ps:新版微信不再需要手动开启X5内核了。

2022-11-14 19:14:15 5799 6

原创 微信小程序执行自动化时报“element not interactable”

一开始我以为class=“input_container”的那个元素是可输入的,结果一直报上面的错误;后面才发现wx-textarea标签才是可输入的元素。按照我定位的方式会定位到span元素,但是button才是可操作的所以后面切换到button就能够正常进行点击了。后面才发现是因为锁定位的元素不能够操作。所以报 “element not interactable”除了元素还未加载完成还可能是所定位的元素不可被操作。定位是定位到了但是执行点击操作时就会报了上面说的错误;

2022-11-12 08:26:18 631

原创 Django 路由定义

【代码】Django 路由定义。

2022-10-27 12:52:41 225

原创 linux常用命令详解

top:查看系统运行情况,可观察系统总cpu、内存以及各个进程cpu、内存使用情况。-c:次数 -i:每次间隔时间。-a (all) # 显示所有选项,默认不显示LISTEN相关。-l # 仅列出有在 Listen (监听) 的服务状态。防火墙关闭 service iptables stop。-n # 拒绝显示别名,能显示数字的全部转化成数字。查看所有tcp相关端口:netstat -tnp。-t (tcp) # 仅显示tcp相关选项。-u (udp) # 仅显示udp相关选项。

2022-10-26 09:05:47 189

原创 Java-Appium app实战详解

appium是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合应用,并且是跨平台的。可用于IOS和Android操作系统adb是用来连接安卓手机和PC端的工作,adb命令可以让用户在PC对手机端进行各种操作。

2022-09-19 23:37:33 2892

原创 接口测试-JsonShema断言

当接口测试返回的响应非常多字段时,不可能一个个字段去断言,这个时候就可以利用schema格式校验的方式去断言2 获取响应schemaschema内容一般有以下两种获取方式

2022-07-04 19:47:19 226

原创 Airtest自动化实战

一、AirTest介绍官方文档:https://airtest.doc.io.netease.com/Airtest是一款基于 Python 的、跨平台的UI自动化测试框架。因为它基于 图像识别 的原理,所以适用于所有 Android、 iOS和 Windows 应用。因此,不论是手机上的app还是游戏,或者是Windows电脑上面的应用或者游戏等等,都可以用Airtest框架。二、环境准备adb环境搭建https://blog.csdn.net/weixin_43927138/arti

2022-05-26 19:54:17 1286

原创 一文带你了解怎么做接口测试

本篇文章主要分享下接口测试步骤和测试用例的设计思路,至于什么是接口测试,为什么要做接口测试这些基础概念就不在这里啰嗦啦一、获取接口文档现在大多数公司的研发流程里都会要求后端开发工程师尽早的定义好接口文档并进行输出,这也恰好有利于测试尽早拿到接口文档进行接口用例编写;现在接口文档大多都是Swagger形式,有的可能会使用ApiFox或者别的形式文档,但是都是大同小异的;像Swagger接口文档本身就提供了提供调试功能的,可以很方便地对接口进行调试,不过呢在刚拿到接口文档的时候接口一般都还没实现,要调.

2022-04-30 15:30:21 748 1

原创 Junit5+Yaml文档实现参数化驱动测试

Junit5+Yaml文档实现参数化驱动测试在Junit5详解文章中提到,当前测试框架能够使用多种方式实现参数化,但是笔者用的比较多的是Yaml文档+@MethodSource的方式实现;因为yaml文档能够更好地定义各种形式的参数,且文档比其他格式更加清晰直观。接下来就讲解下此种方式的简单实践。案例:当前有一个登录接口,需要使用不同参数实现参数化驱动(接口就不写了~)一、定义yaml格式参数- desc: 正确的用户名密码 account: "Account" password: "pas

2022-04-24 23:14:41 479

原创 Java测试框架-junit5详解

Java测试框架-junit5java当前主流的测试框架有两个:TESTNG、Junit5;这两个框架在功能上都比较完善,也没有说哪个更好,因为笔者平时用的比较多的是Junit5,所以本文主要讲的是Junit5的使用1、Junit5的构成Junit5的框架主要有三个部分组成分别是:JUnit Platform + JUnit Jupiter + JUnit Vintage3JUnit Platform :其主要作用是在 JVM 上启动测试框架。它定义了一个抽象的 TestEngine AP

2022-04-23 17:43:04 15682 2

原创 minium - 小程序自动化简单实践

一、minium简介minium 是为小程序专门开发的自动化框架。使用 minium 可以进行小程序 UI 自动化测试, 但是 minium 的功能不止于仅仅是 UI 自动化, 甚至可以使用 minium 来进行函数的 mock, 可以直接跳转到小程序某个页面并设置页面数据, 做针对性的全面测试, 这些都得益于我们开放了部分小程序 API 的能力。除此之外,小程序有部分组件使用了系统原生的组件,对于这部分的组件,我们也基于 uiautomator 和 wda 做了补充。目前小程序的体量越来越大,相关

2022-04-10 13:02:23 4632 3

原创 定时执行测试用例的简单实现

用例定时执行实现搭建一个测试平台,自动化执行用例功能是不可或缺的,本文主要介绍一下测试用例定时自动执行的简单实现首先定义一个执行用例的方法def excuse(): ... # cases是需要执行的所有用例 for case in cases: # 执行用例 subprocess.call( 'python case/%s' % case.name, shell=True ) print('本轮测试

2022-02-18 09:22:08 1234

原创 测试平台实现用例并发执行

测试平台实现用例并发执行测试平台中一旦录入的用例多了后,互不影响的用例逐条运行会非常耗时,所以需要实现用例并发执行来加快执行效率具体实现如下:先声明一个并发用例脚本的方法的方法 def concurrent_run(testcase): ... # 调用命令执行用例 subprocess.call( 'python case/%s' % testcase.name, shell=True ) 使用threading库声明多个线程 执行用

2022-02-17 09:09:41 436

原创 Vue使用v-html展示后端返回的html内容

使用v-html展示后端返回的html内容,并解决js不执行问题在UI平台开发的过程中,因为测试报告是在后台生成的,需要将测试报告整个进行返回到前端进行展示,但是vue不能像原生html一样直接展示render返回的响应页面,所以笔者借助v-html进行展示。具体写法如下:<div ref="reportHTML" v-html="htmlText" class="web-con"></div><script> data(){ return{ ht

2022-02-15 22:41:10 22183 3

原创 微信小程序接口自动化实践

微信小程序接自动化实践最近突然来了任务 说要做小程序接口自动化;原本以为和平时做的接口一样能够很顺利的搞定,结果在登录态token上花了很多时间。。。这边文章主要就是记录下怎么解决这个问题的。首先看下微信小程序登录流程-通过上图可以看到第一步需要调用wx.login()方法获取code,然后通过这个code在获取token;然而难点就在这个code的获取上,因为这个是依赖微信开发这工具的。后面参考了以下文章得到了解决思路:https://blog.csdn.net/qq_424343

2022-01-05 18:38:25 2106

原创 测试平台开发-动态生成测试用例

使用setattr方法动态生成测试用例现在为了让手工做上自动化,关键字驱动越来越普遍,不管是使用Excel、yaml还是别的格式文件储存用例,都需要在读取到关键字后动态生成用例。这里就讲一下如何使用python的setattr方法读取文档用例后,动态生成测试用例实战:创建一个测试类Test# 使用的unittest框架class Test(unittest.TestCase): # 声明一个启动方法 这里有个坑 不能声明为run 之前方法名声明为run,一直检测不到用例 def

2021-12-20 12:23:47 996

原创 测试平台开发躺坑日记 前端报错 Uncaught ReferenceError: xxx is not defined

前端报错 Uncaught ReferenceError: xxx is not defined在写前端JS的时候遇到个问题,明明已经定义了对应的方法但是前端页面还是报错:根据报错内容是说方法没有定义。之前遇到过这个问题,是因为作用域问题,只需要改下方法定义方式即可: function get_edit_member_msg(){}改成: get_edit_member_msg =function (){}但是这次改完之后还是继续报错(作用域这个还是要好好深入了解一下)。后面看来很

2021-12-19 22:53:33 758

原创 UI自动化 pageObject设计模式实战

PageObject设计模式实战pageObject作为一个经典的设计模式已经被广泛应用到了UI自动化框架封装当中,当然了,现在接口自动化也能够使用这种设计理念。pageObject设计模式充分利用了面向对象原则,将业务层和用例分离,让使用者能够更好地进行维护。接下来就介绍一下pageObject设计模式的基本理念和实战一、pageObject的基本原则● The public methods represent the services that the page offers● Try

2021-12-14 09:38:19 545

原创 Django自带的分页函数Pagination使用

Django自带的分页函数使用Django自带了一个分页函数,可以直接使用该函数进行分页数据展示,下面直接上代码看具体用法具体使用 from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage cases = ['case01','case02','case03','case04','case05'] # 将cases进行分页处理 每页5条数据 p = Paginator(cases, 5

2021-12-13 19:57:19 1129

原创 java-selenium 实战详解

selenium 作为现在最主流的UI自动化框架,基本成为了自动化测试必备的技能,本文是笔者在学习的时候做的笔记,也是实战内容。一、selenium相关配置:1、官方文档地址:https://www.selenium.dev/documentation/zh-cn/2、谷歌各版本下载http://www.chromedownloads.net/chrome64win/3、谷歌驱动下载http://npm.taobao.org/mirrors/chromedriver4、禁止谷歌浏览器更新h

2021-12-09 09:43:44 11846 7

原创 测试平台开发躺坑日记 报错 No module named django

导入django包时 报错 No module named django出现错误时 是使用mac操作的错误代码 :os.environ['DJANGO_SETTINGS_MODULE'] = 'We_UI.settings'import djangosubprocess.call('python test.py' , shell=True)报错当时看了网上说是,django和python版本不匹配,改了版本之后完全无效,然后又在终端尝试导入django发现都是没问题的,后面就想到m

2021-12-06 20:29:20 492

原创 测试平台开发躺坑日记 django报错:django.template.exceptions.TemplateDoesNotExist:

使用django返回页面是报错django.template.exceptions.TemplateDoesNotExist:查看测试报告方法需要返回非templates目录下的报告文件需要先在setttings中设置DIRSTEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['report'], 'APP_DIRS': T

2021-12-06 20:11:11 1886 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除