自动化测试
web的UI自动化和app自动化
飞翔的大黑壮(猫猫)
奔跑吧小白笨,飞翔吧大黑壮。
展开
-
python获取json中的元素:jsonpath和JMESPath
如何快速获取json中的数据,也可以换一句话,如何简单快速的获取json文件中的数据,是我们在接口自动化中常考虑的内容,原因在于某些接口响应的数据是不同的,例如:一个查询接口会根据传参的不同,响应不同从值。有时候给出的json中含有data参数,有时候没有。当我们用固定的json位置取值时是不适用的,那么jsonpath和JMESPath就是一个不错的选择。 jsonpath:利用匹配的方式获取json文件中的数据。(我所掌握的方式,个人比较喜欢)import jso...原创 2021-08-15 18:38:38 · 2112 阅读 · 0 评论 -
paramiko远程管理liunx服务器
import configimport paramikoimport timeclass SSH_Tese_Tool(): """ 实例化类时自动调用该方法,链接服务器 """ def __init__(self): self.hostname = config.fuwuqi["userhost"] self.username = config.fuwuqi["username"] self.password = .原创 2021-03-24 17:27:26 · 244 阅读 · 1 评论 -
利用Locust进行压力测试
闲话少说,先上一段代码from locust import HttpUser, TaskSet, task, betweenclass TestIndex(TaskSet): @task def getIndex(self): with self.client.get("/*********", catch_response=True) as resp: response = resp.json() # print.原创 2021-03-21 15:24:10 · 279 阅读 · 0 评论 -
python小技巧:将方法放入类库中
在写自动化脚本的时候,常常用到一些制造数据的函数,每次引用的时候需要将文件加到项目中,比较麻烦,推荐一种一劳永逸的方法:将自己的类方法放入类库中第一步:在python的\Lib\site-packages目录中新建一个文件夹(命名随意):例如:第二步:将自己写好的python文件放入到该文件夹下:第三步:在项目中可以引用类中的方法了,但是需要注意一点:如果在其他电脑或者虚拟机上执行的时候,需要将这些文件配置到其他电脑或虚拟机的python环境中:...原创 2020-12-24 16:12:36 · 521 阅读 · 1 评论 -
python+JavaScript+AJAX+flask开发测试工具并部署到liunx服务器中。
访问地址:http://106.14.227.119/声明:自动生成的测试数据仅供测试使用,不可用于其他任何用户,尤其是非法用途。1.在liunx上部署python环境:可参考我的这一片博客。https://yzxing.blog.csdn.net/article/details/1101421652.安装所需依赖:python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/.原创 2020-11-25 20:40:34 · 270 阅读 · 2 评论 -
测试开发:pyside2+python开发的自动生成测试数据小工具
1原创 2020-11-13 23:08:19 · 1139 阅读 · 0 评论 -
2天,利用下班后的4小时开发一个测试工具
源码和安装包:git路径:https://github.com/yzxwp/test_Autotool.git安装包下载:链接:https://pan.baidu.com/s/1ne5MWT84_c_BYhp-QmlA7w 提取码:bxuy开发原因:现在我主要从事汽车金融项目的测试工作,身边的同事告诉我,测试用的数据好难造,例如身份证号码,统一社会征信码,车辆车架号等数据校验复杂,直接取数据库中的数据牵扯到可以的信息,脱敏后数据可能是用不了,网上的在线生成工具因网络权限问题无法获得,还...原创 2020-11-05 18:08:34 · 1943 阅读 · 6 评论 -
appium桌面工具一篇轻松搞定
appium桌面工具的认识和使用调试注意事项:先插上数据线,链接到电脑上,第一次打开开发者选项, 打开调试以后,关闭页面,【USB调试】会自动关闭,这时候需要手动再打开 一次。使用adb命令,查看手机:adb devices参数platformVersion的来源:设置-关于手机查看当前手机打开的app,包括包名和页面 adb shell "dumpsys window | grep mCu...原创 2020-10-05 09:25:18 · 2077 阅读 · 4 评论 -
flask:做mock的不二选
当我们的系统需要请求第三方接口的时候,可能会遇到这样的问题,测试环境数据不够或者没有数据,需要请求第三方的接口来获得数据,但是数据量非常大,需要验证一下获取数据接口的性能,准确性等,mock就是不二的选择,但是使用工具做mock的话又满足不了复杂逻辑和数据量,那么展示你技能的时候到了,自己写一个mock服务吧。下面是我为微信公众号写的同步所有关注用户的mock服务,所有的数据都是用for循环生成的。# encoding:utf-8from flask import Flask, request原创 2020-08-13 21:48:13 · 2781 阅读 · 0 评论 -
163邮箱报错535:smtplib.SMTPAuthenticationError: (535, b‘Error: authentication failed‘)
邮箱报错535:没有使用授权码。原来到时候163邮箱不用使用授权码就可以,但是现在跟qq邮箱一样必须使用授权码了。解决办法:使用授权码登陆。原创 2020-07-25 11:40:12 · 1691 阅读 · 0 评论 -
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
IOS搭建自动化环境需要安装brew,使用ruby命令安装时遇到无法连接的问题:解决办法:修改hosts文件,将下面的ip地址放到host文件中。记得sudo vi /etc/hosts 。否则会报错。199.232.28.133 raw.githubusercontent.com...原创 2020-07-17 22:55:58 · 339 阅读 · 0 评论 -
monkey的日志管理:三种方式
第一种:保存到手机adb shell monkey -v -v 10 > /sdcard/monkeylog.log趟坑日志:必须先执行adb shell ,否则报错;按照顺序执行则不会报错。第二种:保存到电脑adb shell monkey -v -v 10 > E:/monkeylog.log第三种:标准流和错误流分开保存:adb shell monkey -v -v 10 1>e:/monkey_sucess_log.log 2>e.原创 2020-06-26 23:00:00 · 1126 阅读 · 0 评论 -
如何解决monkey无法执行特定场景的问题:自定义脚本:以华为计算器为例。
闲话少说,先上源码:type = raw eventscount = 1speed = 1.0start data >>#打开app的包名,启动的ActivityLauncherActivity(com.android.calculator2,com.android.calculator2.Calculator)#休眠500msUserWait(500)#点击计算机按钮1Tap(105,989,1000)UserWait(500)#点击计算机按钮+号Tap(63原创 2020-06-26 22:11:37 · 1165 阅读 · 0 评论 -
解放双手之liunx的shell编程:(六)利用shell脚本一键启动服务
微服务需要启动的服务很多,当服务器关闭后需要重启,十几个服务逐个启动真的是很烦,浪费我宝贵的时间,因此我编写了一个可以一键启动服务的shell文件来方便启动服务。初级代码:#!/bin/bashcd /mpjava/server/ly.nfrzzl.core.biz/binpath=`pwd`if path='/mpjava/server/ly.nfrzzl.core.biz/bin';then echo '已经进入/mpjava/server/ly.nfrzzl.core.biz/bin原创 2020-06-05 11:17:48 · 791 阅读 · 5 评论 -
大话自动化测试:我眼中的自动化测试工程师,如何成功自动化测试工程师
自动化测试工程师是不是自动化工程师都是使用代码来实现自动化的?对于这一点我要说明一点,自动化工程师并不是这样的。自动化分为工具的自动化和代码的自动化。自动化测试有很多工具,例如postman,soapUI等等。并不是所有的都要用代码来实现自动化。首先,现在自动化测试工程师很大一部分。...原创 2020-06-05 15:18:27 · 1899 阅读 · 2 评论 -
解放双手之Liunx的shenll编程:(一)创建一个简单的shell文件并执行
1.如何创建shell文件shell文件的后缀为sh。在liunx系统中,可以直接使用touch命令来创建shell文件例如:我要创建一个名字为test的shell文件 touch test.sh2.shell文件如何执行shell脚本在的执行方式有很多种,其中,最简单的就是使用 ./文件名 来执行注意: 执行shell脚本前,一定要将其权限提升为可执行文件...原创 2020-05-02 15:51:19 · 548 阅读 · 0 评论 -
xpath定位方法之轴定位:万物皆可xpath
进行定位时,页面上的一切都可以用xpath来定位,正所谓万物皆可xpath。首先,下面是百度到的轴定位的13种方式,其中,我最常用的是self,following,preceding。他可以其他定位方式一起使用,尤其是我们在定位js文件的时候,帮助是非常巨大。 XPath轴(XPath Axes)可定义某个相对于当前节点的节点集: 1、child 选取当前节点的所有子元素 2、p...原创 2020-05-01 17:50:07 · 2511 阅读 · 3 评论 -
测试中常用的adb命令
1.adb shell "dumpsys window | grep mCurrent" 查看当前手机打开的app,包括包名和页面2.adb connect ip:端口号 无线连接 例如:adb connect 172.26.164.213:5555 默认为5555 但可修改 adb disconnect ip:端口号 断开连接3.adb devices 查看当前连...原创 2020-05-01 17:27:07 · 1630 阅读 · 0 评论 -
非input文件上传:selenium+Auto实现上传文件
pass原创 2020-04-23 20:15:23 · 410 阅读 · 0 评论 -
python小技巧:如何配置HTMLTestRunner自动生成报告
第一步:将下面的代码复制下来,保存为一个名叫的HTMLTestRunner.py文件。# coding=utf-8"""A TestRunner for use with the Python unit testing framework. Itgenerates a HTML report to show the result at a glance.The simplest wa...原创 2020-04-12 17:16:51 · 931 阅读 · 1 评论 -
python小技巧:unittest实现参数化
除了使用数据驱动ddt来进行参数化外,还可以使用paramunittest来实现参数化。长话短说,上代码:此代码可以复制直接进行测试# author:闫振兴# contact: 1753502691@qq.com# datetime:2020/4/10 17:43# software: PyCharm"""文件说明:"""# encoding:utfimport unit...原创 2020-04-10 18:05:56 · 1082 阅读 · 0 评论 -
python小技巧:使用HTMLTestReport模板生成html报告
将自动化测试的结果生成一个报告:闲话少说,上代码:# author:闫振兴# contact: 1753502691@qq.com# datetime:2020/4/9 21:04# software: PyCharm"""文件说明:"""# encoding:utf-8import unittestimport HTMLTestReportimport time...原创 2020-04-09 22:07:56 · 4695 阅读 · 5 评论 -
python的unittest小技巧:使用discover来管理用例
无论是UI自动化还是API自动化,我们每次执行的时候都会执行当前我们需要执行的所有用例,但是如何只执行一个方法执行所有的测试用例呢?discover能够帮助我们。为了方便大家:代码在下面#encoding:utf-8import unittest# @unittest.skip('class skip')class MyTestCase(unittest.TestC...原创 2020-04-09 21:22:57 · 960 阅读 · 1 评论 -
python的unittest小技巧:去掉少量不需要执行的用例
无论是UI自动化还是API自动化,我们每次执行的时候不会执行所有的用例,每次只需要更新当前的用例,如何挑选测试用例来进行精确执行呢?方法:使用容器进行跳转:# author:闫振兴# contact: 1753502691@qq.com# datetime:2020/4/9 20:18# software: PyCharm"""文件说明:"""#encod...原创 2020-04-09 21:17:53 · 1299 阅读 · 1 评论 -
利用python解析log日志,json文件,配置文件。
对于喜欢偷懒的我来说,重复同样的工作是很令人头疼的事情,总想找到一条捷径,最好是一劳永逸。本次跟大家分享的是对log日志,json文件以及配置文件的解析,读取。首先是log日志的读写:读取数据:f = open("spring05注意事项.txt",mode='r',encoding='utf-8')line = f.readline()while line : prin...原创 2020-03-05 16:21:51 · 4939 阅读 · 0 评论 -
企业级移动应用的测试难点:
对很多企业来说,移动端应用的使用比web端的应用使用率更高。但是迭代速度的加快和迭代版本的增多,每发布一个版本,不仅要测试新功能,还要对整个应用进行完整的回归测试,而且每个版本都需要进行测试。时间真的很紧张。主要存在的是以下几个难点:移动端的测试效率总是低于web端的测试效率。 难以全面覆盖种类繁多的测试设备。 移动端的测试很难达到web端测试的颗粒度。 移动端测试出现不可预测的场景...原创 2020-02-10 11:09:27 · 1396 阅读 · 0 评论 -
UI自动化如何提高稳定性:
UI自动化常见的5中不稳定因素:非预计的弹出对话框。 页面控件属性的细微变化 别扯系统的A/B测试 随机的页面延迟造成控件识别失败 测试的数据问题解决办法:非预计的弹出对话框产生原因:有的网站可能会某一时刻产生广告之类的弹框。随机出现,影响自动化用例的执行。解决策略:在规定时间内,定位不到页面属性时,可能存在弹框,将异常捕获,执行(确定,取消等按钮)。页面控件属性的细微...原创 2020-02-03 16:31:03 · 6313 阅读 · 0 评论 -
UI自动化的优势和劣势以及场景:
优势:自动化测试可以代替大量的手工机械重复性操作,测试工程师可以省下大量的时间来设计测试用例和新功能。 自动化测试可以大幅度提升回归测试的效率,非常适合敏捷开发。 自动化测试可以充分利用无人值守时间,来进行测试,特别是非工作时间执行,工作时间只需要分析一下测试的执行结果。 自动化测试可以高效的实现某些手工测试无法实现的或者代价巨大的测试。例如,关键业务7*24小时稳定性测试测试。 自动...原创 2020-01-31 17:52:22 · 6725 阅读 · 0 评论 -
APP专项测试:内存
内存的测试是属于性能测试的,因此可以参考Liunx性能测试方法和指标,常用的测试方法包括Monkry/UIAutomator类的常规压力测试,长时间运行的稳定性测试,这些方法都可以叠加在内存测试的方案中,观察这些场景下应用的内存情况,经常能够发现类似内存泄漏或OOM的问题。而这些问题主要集中在以下3类场景中: 第一类:包含了图片显示...原创 2020-01-03 13:08:45 · 2688 阅读 · 1 评论 -
第四十届中国软件质量大会:APP专项测试
在此之前我写过一篇APP专项测试的博客:https://blog.csdn.net/pingsha_luoyan/article/details/99556502结合我自身的经验与本次大会宋琦(俊逸)老师的讲解,我将从以下几个方面来说为什么进行APP专项测试和如何进行。1.什么是专项测试,手机的专项测试有哪些? 专项测试是为了与区分pc端开来,移动端所特有的,例如:弱网,安装...原创 2019-12-22 11:40:18 · 1517 阅读 · 2 评论 -
UI自动化测试:网页控制元素定位
#encoding:utf-8from selenium import webdriverimport jsonimport timefrom selenium.webdriver.support.ui import Selectfrom selenium.webdriver import ActionChainsdriver= webdriver.Firefox()url="...原创 2019-08-05 22:31:29 · 2127 阅读 · 0 评论 -
UI自动化:多重定位
#encoding:utf-8from selenium import webdriverimport jsonimport timefrom selenium.webdriver.support.ui import Selectfrom selenium.webdriver import ActionChainsdriver= webdriver.Firefox()url="...原创 2019-08-05 22:30:23 · 2312 阅读 · 0 评论 -
UI自动化测试:使用等待机制,判断跳转页面是否为期望页面
# -*- encoding: utf-8 -*-from selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditionsfrom selenium.webdriver.common.by import Byclass if_pageO...原创 2019-08-03 15:26:22 · 3938 阅读 · 0 评论 -
UI自动化:自己参考
#encoding:utf-8from selenium import webdriverimport jsonimport timefrom selenium.webdriver.support.ui import Selectfrom selenium.webdriver import ActionChainsdriver= webdriver.Firefox()url="h...原创 2019-08-02 07:46:35 · 4009 阅读 · 0 评论 -
UI自动化测试:等待机制详解
我们在UI自动化测试,常常会遇到等待时间,尤其是再网络状况不好的情况下切换页面时,如果不加入等到时机,经常会出现错误。于是,有人导入了time包,import time,time.sleep(1),虽然这样也能够实现,但是太low了。time.sleep(1)它low在什么地方?首先:我们网页的等待时间我们不确定,当它冷却时间小于1s,例如200ms时,等待的800ms就属于浪费时间,一个...原创 2019-07-13 16:57:00 · 4510 阅读 · 1 评论 -
UI自动化测试:定位详解
1.定位:定位的方法有16种,element和elements各8个。但是我个人认为定位的方法常用的就两个:find_element_by_id()和find_element_by_xpath()因为随着页面的改变,运用其他的定位方法,会导致定位错误,而id一般是唯一的。xpath:定位方式有两种: 第一种:绝对定位:不推荐使用。 第二种:相对定位:推荐...原创 2019-07-13 16:30:17 · 6011 阅读 · 3 评论 -
UI回顾
# coding:utf-8# 开发人员 :闫振兴# 开发时间 2019/9/30 10:40# 文件名称 newTest.py# 开发工具 PyCharmimport timefrom selenium import webdriver# 鼠标操作类from selenium.webdriver.common.action_chains import ActionCha...原创 2019-09-30 15:23:45 · 1343 阅读 · 1 评论