
自动化测试
文章平均质量分 56
北京-栗子
从事多年测试工作,掌握Java Python 及测试领域常见工具
展开
-
JMeter之引入jar包解决登录时密码加密问题
JMeter学习:引入jar包工具类进行密码加密处理前言一、 RSA 密码加密传输二、 使用IDEA生成jar包三、jmeter中引入jar并使用前言主要内容:最近使用jemter模拟并发用户登录创建数据,由于密码是加密处理的,需要使用java编写一个工具类,打开jar包在jemter中引入使用,特此记录下使用过程。第一部分:编写加密方法第二部分:生成jar包第三部分:jmeter中引入jar包并使用一、 RSA 密码加密传输之前有写过一篇关于RSA加密相关的文章,当时用python实现原创 2021-09-17 14:07:03 · 1398 阅读 · 0 评论 -
Mac安装psycopg2解决方法
Mac系统下如何安装psycopg2安装步骤安装步骤最近由于Window本突然出现问题,临时换Mac本来工作。之前写的一些测试项目都是基于Python的,开始以为正常的clone下来安装依赖就能开展工作。嗯,你想错了,遇到了一个比较棘手的问题。psycopg2怎么也安装不成功,费了九牛二虎之力才安装成功,特此记录下安装过程:常规的pip install psycopg2 已经不能成功安装报错信息:ERROR: Command errored out with exit status 1: py原创 2021-07-04 17:04:25 · 2196 阅读 · 0 评论 -
Pytest自动化测试框架学习(三)
在自动化测试中我们经常会针对某些测试方法编写前置测试数据,当测试方法执行完毕后再清理这些测试数据。之前我们接触的unittest框架中,使用setUp、tearDown方法来解决前置数据、后置数据销毁的问题。pytest为我们提供了更加强大灵活的fixtrue来完成该实现,本质上还是函数和装饰器的使用。fixtrue基础使用该方法可任意命名没有setUp、tearDown的命名限制 方法默认返回值是None,可配置返回值供测试方法使用 该方法有执行范围,默认是function级别下面...原创 2020-05-17 17:54:30 · 683 阅读 · 0 评论 -
Pytest自动化测试框架学习(二)
在自动化测试中,参数化非常常见。当你在测试某一个接口时,通常会给测试函数传递很多参数,达到遍历的目的。比如测试登录接口,我们需要模拟各种场景的账号密码。又如我们上一篇文章中介绍的获取天气接口,你需要验证很多城市的天气信息是否返回正确。我们通常的做法是把需要验证的城市数据参数写在测试方法内部进行遍历。但仍然是在一个测试方法中执行,如果某个请求导致断言失败,就此测试也会被终止。当然传统做法我们...原创 2020-04-25 15:43:29 · 368 阅读 · 0 评论 -
Pytest自动化测试框架学习(一)
pytest是一个使构建简单和可扩展测试变得容易的框架。测试具有表现力和可读性-不需要样板代码。数分钟内即可开始为您的应用程序或库进行小型单元测试或复杂的功能测试。一、安装 使用在线安装命令: pip install -U pytest (参数-U代表如果你已经安装了pytest,那么就升级到最新版本) 验证是否安装成功 pytest --vers...原创 2020-04-19 17:56:46 · 1406 阅读 · 0 评论 -
Python清理PC端微信产生的超大数据
电脑上安装了PC版本的微信,最近发现C盘不够用了。一查发现微信的聊天记录能占到20G,当然微信自带了清理聊天记录。在家隔离期间,闲来无事用Python写了一个小方法来统计微信路径下Data文件夹下每年产生的数据量,并清理了指定年的数据。涉及Python内置模块os datetime涉及函数os模块中的listdir函数,返回指定文件夹下的文件及文件夹列表 os.path...原创 2020-04-16 01:50:13 · 1065 阅读 · 0 评论 -
RSA密码加密传输-解决接口自动化测试中的登录问题
RSA密码加密传输-解决接口自动化测试中的登录问题在做接口自动化测试时,登录接口鉴权是我们首先要完成的。后续业务相关接口都需要依赖登录接口返回的token或cookie。常见的登录方式是当用户输入账号和密码点击登录时,前端会使用JSEncrypt组件对用户的相关信息进行RSA加密,今天我们就学习下如何使用python语言实现RSA加密。RSA加密解密RSA加密是一种非对称加密。可以...原创 2019-12-29 11:44:04 · 2133 阅读 · 3 评论 -
自动化管理Webdriver驱动文件
自动化管理Webdriver驱动文件当我们在使用Selenium Webdriver 进行自动化脚本开发时,我们都需要先下载各浏览器对应的驱动文件,而且还需要在脚本中去设置这些文件的路径。有没有自动化的方式来解决这个问题呢,我们在初始化方法中任意选择我们想使用的浏览器类型及版本?例如我们之前脚本中使用IE浏览器时是这么在脚本中设置的:System.setProperty("web...原创 2019-07-10 19:14:30 · 809 阅读 · 0 评论 -
自动化测试中如何使用Xpath定位器
自动化测试中如何使用Xpath定位器在本教程中,我们主要研究Selenium WebDriver进行自动化测试时如何使用Xpath进行元素定位。主要包括如何创建Xpath定位器,不同类型的Xpath以及使用Xpath查找动态元素的方法。什么是Xpath我们可以把Xpath理解为在XML文档中查找不同元素的查询语句。(同样适用于HTML文档的查询) 基本语法格式://标签[@attr...原创 2019-06-25 14:16:02 · 992 阅读 · 0 评论 -
使用TestNG进行多浏览器并行测试
兼容测试是软件测试中必不可少的一个过程。在有限的测试资源和时间内,如何快速的进行多个浏览器的兼容测试显得极为重要。使用Selenium+TestNG进行并发测试在我们经历的Web产品测试中,都需要进行多浏览器兼容测试,以确保在不同的浏览器中与预期一致,给用户带来相同的体验。 在多浏览器中进行回归测试需要占用更多的人力和时间,TestNG为我们提供了简单的方式来实现多浏览器并发测试...原创 2019-06-18 09:42:57 · 644 阅读 · 0 评论 -
为Selenium自动化测试优雅的添加日志
在使用Selenium进行Web端UI自动化测试过程中,最让人头疼的就是脚本执行的稳定性。如何快速定位排查运行中产生的各种异常问题,详细记录每一步的操作日志是最有效的方法。WebDriver事件监听器本次实例中我们将使用EventFiringWebDriver 和 WebDriverEventListner来完成日志的添加。 EventFiringWebDriver 是一个类,...原创 2019-06-14 13:28:39 · 1766 阅读 · 0 评论 -
Selenium WebDriver教程-POM & Page Factory(下)
Selenium WebDriver教程-POM & Page Factory(下)在本教程中你将学习什么是页面对象模式? 为什么使用页面对象模型? POM优点 如何在项目中引入POM? 什么是Page Factory? 使用Page Factory优化测试项目 页面工厂优点在大型项目中针对页面对象管理的方式推荐PageFactory与PageObject配合使用...原创 2019-06-14 13:23:55 · 730 阅读 · 0 评论 -
Selenium WebDriver教程-POM & Page Factory(上)
在本教程中你将学习 什么是页面对象模式? 为什么使用页面对象模型? POM优点 如何在项目中引入POM? 什么是PageFactory? 使用PageFactory优化测试项目 页面工厂优点 什么是页面对象模型(PageObjectModel)?Page Object Model是一种为Web UI元素创建对象仓库...原创 2019-05-23 16:26:38 · 836 阅读 · 0 评论 -
Robot Framework开发系统关键字
一、 应用场景:在我们使用RF+Appium进行移动端应用UI自动化测试过程中,经常会出现无法正常启动应用的现象。经过查找折腾,才发现原来Appium Server还没有启动。相信这个现象是对于很多新手来说并不陌生。为此我们可以开发RF的系统关键字把启动server编写到我们的测试用例当中。二、开发启动Appium服务关键字在该路径下C:\Python27\Li原创 2018-01-12 08:32:49 · 1240 阅读 · 0 评论 -
Python之读取配置文件
Python之读取配置文件 在我们编写基于Appium框架的自动化测试脚本时,我们可以把初始化中用到的参数放到配置文件中来维护读写一、ConfigParser简介Python自带的模块,用来读取配置文件的包。配置文件格式:[oppo]platformName = AndroidplatformVersion = 6.0deviceName = 2a22ceeappPackage = c原创 2017-12-15 14:03:08 · 11489 阅读 · 0 评论 -
使用Python的xlrd模块来操作Excel
使用Python的xlrd模块来操作Excel应用场景: 当我们使用Python+unittest框架进行后端服务接口测试的时候,大家发现一个问题,我们的测试步骤是一样的,只是测试数据不同。 1. 组装请求参数 2. 发送HTTP请求 3. 结果验证 我们根据不同的入参设计了不同的测试用例(数据),当数据量过大时,一条测试用例对应一个测试方法就显得不太合适原创 2017-12-06 10:20:25 · 711 阅读 · 0 评论 -
Django提交表单出现403错误,CSRF verification failed. Request aborted .
解决办法:一、settings.py,在 MIDDLEWARE_CLASSES 中注释掉 'django.middleware.csrf.CsrfViewMiddleware',原创 2016-09-25 22:02:51 · 319 阅读 · 0 评论 -
Robot Framework + appium库 增加元素是否存在关键字
Robot Framework+appium 进行iOS自动化测试中遇到一个问题,需求是这样的:进入账单列表,如果存在账单消费记录就点击任意账单查看详情。账单列表有无消费记录的情况,这个时候就需要判断当前列表是否有记录,有的话就进行详情查看操作,没有就不进行查看操作。查看了帮助手册,没有发现合适的关键字。大多关键字是返回元素对象或者在没有找到的情况下直接抛出错误信息。可能是自己没有更深的理解这原创 2016-07-08 15:57:59 · 4252 阅读 · 0 评论 -
Robot framwork case执行命令
1、执行单个case pybot 项目路径+被执行的case2、执行suite pybot 项目路径+suite路径3、执行整个项目所有用例 pybot+项目路径(与Jenkins集成时用到)原创 2016-06-30 13:48:35 · 2952 阅读 · 0 评论 -
eclipse离线安装testNG
最近在用selenium+NG做web端自动化的测试,遇到了eclipse无法在线安装NG的问题。开始怀疑被墙掉了,启用VPN后还是被中断。遇到这个情况果断采用离线安装的方式,之前也下载过几个NG的版本,都遇到问题,无法安装成功。偶然找到一个版本,测试安装通过。安装步骤如下:1、下载附件2、解压后将features目录下的文件夹拷贝到eclipse下的features下3、将org原创 2016-06-29 08:59:09 · 1901 阅读 · 0 评论 -
robotium自动化测试实现脚本命令行执行resign重签名操作
在使用robotium针对无源码只有apk的情况下,我们需要对被测应用进行重签名操作,以保证与我们的测试apk签名一致。常用的方法是我们手工使用resign.jar包进行重签名操作,但是与Jenkins进行集成的时候这个方法就不合适了。这时候我们就需要用我们使用脚本来实现重签名操作,通过对resign的研究,整理了实现步骤,如下: 1、使用zip工具解压被测应用apk包2、删除签名文件夹M原创 2016-05-05 11:06:57 · 1090 阅读 · 0 评论 -
robotium中在setUp方法中加入自动唤醒屏幕并解锁
在使用robotium进行自动化测试过程中,不进行屏幕唤醒解锁case是执行不成功的。这就需要我们在工具类中增加自动唤醒屏幕并解锁的方法。引入相关的包,在Mainfest文件中添加权限: 代码:public static void wakeUpAndUnlock(Context context) {KeyguardManager km = (KeyguardManag原创 2016-04-27 09:59:05 · 978 阅读 · 0 评论 -
robotium截图路径设置
robotium测试过程中当case执行出现异常时,我们就需要捕获异常做处理并进行截图。有些时候一个case下可能不止1张截图,多张的时候如果不进行区分看上去很乱。所以就想把默认的截图路径再增加上case的名称。仔细查阅了下solo类的API,config类中的screenshotSavePath属性值为默认截图保存路径,我们只需要在默认路径基础上增加case名称即可。如:solo.getCo原创 2016-04-26 11:27:34 · 275 阅读 · 0 评论 -
Android移动自动化中短信验证码解决方案
在近期支付项目中遇到各种业务需要进行短信验证的情况,以前遇到过注册、找回密码也需要,但并非业务流程。自动化过程中会把忽略这样的用例,这次是不行了必须要解决这个问题。本次项目用的是robotium框架,开始也想过直接在apk中添加短信监听,但是一直失败。为了不影响进度只能换一个方案解决。于是就想到单独做一个apk安装到手机上,当短信来了就获取短信的验证码并写入到SD卡中。然后case中再读取原创 2016-04-21 17:04:14 · 815 阅读 · 0 评论