自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python os.environ 处理环境变量

最近在写自动化代码的过程中,需要往环境变量写入一些变量,然后其他方法取出来,所以OS这个库很简单的解决了这个问题:import osdef set_env(): # 设置环境变量 os.environ.setdefault('test', 'case')def get_env(): # 获取环境变量 if os.environ.get('test'...

2019-01-23 18:07:41 7253 1

原创 Python 3 读取ini文件

在使用Python的过程中就会遇见配置环境参数的问题,今天学习了使用configparser 模块来读取ini文件导入参数:首先,创建一个config.ini文件:[debug]log_errors=trueshow_warnings=False[server]port: 8080nworkers: 32pid-file=/tmp/spam.pidroot=/www/r...

2019-01-07 17:23:39 8617

原创 RobotFramework中Tag的用法

记得在RobotFramework框架中使用tag这个功能还是印度老外给我们演示的,当时觉得这个功能不错,后来看了官网才发现结果是RF框架自带的功能,tag有什么作用呢?tag可以灵活执行对应测试用例集合,比如tag设置成smoke:只想执行smoke的测试用例:pybot -i smoke xxx.robot 不行执行smoke的测试用例: pybot -e smoke...

2018-09-11 16:16:22 8596 1

原创 Python和RF编写接口自动化

这个是想分享一下使用RF框架和Pyhont源码写同一个接口测试的案例,来解析一下各自的优缺点:Python2.7.x:通过python的request和json库能很快的对一个接口进行效验,有以下几个步骤:导入python库文件定义这个接口所需要的参数执行接口请求对结果进行验证RF:通过RF的Collections和RequestsLibrary库,有以下几个步骤:导入RF库文件定义参数执行接口请...

2018-07-14 15:13:13 5720

原创 RF中关于Log的各种方法

    在调试RF代码的过程中,因为RF不能打断点,所以大家都需要打一些log来查看一些步骤的输入输出,下面就是简单整理一下log的各种方法: 关键字 用法 备注 Log Log  ${data} 这个关键字等同于Print,可以把${data}的值打印在RF的log文件中查看 Log to console Log to console  ${data...

2018-07-11 09:18:21 5664

原创 p 型编码串

# 题目描述# 给定一个完全由数字字符‘0’,‘1’,‘2’,…,‘9’构成的字符串 str,# 请写出 str 的 p 型编码串。# 例如:字符串 122344111 可被描述为" 1个1、2个2 、1个3 、2个4 、3个1 ",# 因此我们说 122344111 的p型编码串为 1122132431 ;# 类似的道理,编码串 101可以用来描述 1111111111;# 00000000000 可描述为" 11 个 0 ",因此它的p 型编码串即为 110;# 100200300 可描.

2022-05-08 09:53:38 552

原创 Pytest 命令行报错: Hint: make sure your test modules/packages have valid Python names.

Pytest 命令行报错: Hint: make sure your test modules/packages have valid Python names.出现问题:今天在Jenkins中新建一个Job运行自动化测试用例,看见这个报错,在本地的pycharm里面运行对应的脚本,没有任何问题,但是在pycharm的Terminal中使用命令行运行又会报相同的错误解决办法:在对应的脚本中增加一个conftest.py文件,增加以下代码,再次运行就可以通过了import o..

2021-05-17 16:13:17 7630 8

原创 python flask 请求code 400, message Bad request version

今天在写flask请求的时候,请求的时候一直遇到code 400, message Bad request version 的乱码错误提示,肉眼看代码也没任何问题,结果问题是因为使用了https,在请求中把https改成http协议就可以得到正常的请求了使用方式:http://ip:portnumber...

2020-07-20 17:14:02 13120 4

原创 Flask 蓝图模块应用

最近使用Flask写一个测试平台,后端使用flask框架,因为是菜鸟,所以遇到很多坑,今天就是第一个坑,使用蓝图来注册实现多个模块集成在一个入口先看看我的demo的目录demo1 package包含一个demo1的模块 demo2 package包含一个demo2的模块 最外层包含一个manager.py的启动文件demo1的代码:from flask import Blueprint, Flaskapp = Flask(__name__)demo1_test = Bluepr

2020-05-13 18:45:48 221

原创 Dict中取一个随机值

今天碰见一个需求,从一个dict里面取一个随机值出来:本来开始想使用item的方法,但是取不出来后来使用 了下面的思路先得到一个list,包含这个dict的所有keys 然后通过random随机取一个keys 再通过keys去get到对应的value不知道高手还有没有更简单的办法呢?dict_list = {'test1': '1', 'te...

2020-03-21 16:06:04 2562 2

原创 Python 字符串的几种拼装方式

日常写代码中,经常会遇到拼装字符串的时候,今天学习了3.6支持的方法,觉得真的很方便,那我们一起来看看python有哪些办法拼接字符串string = "test"print("this is %s case" %string)print("this is {0} case".format(string))print("this is " + string + " case")...

2020-03-01 10:22:33 637 1

原创 Jmeter使用http默认值

在使用jmeter的过程中,因为测试环境有多个测试环境,域名不一致,所以在录制jmeter脚本的时候需要设置一下默认域名,方便修改的时候全部一起修改在线程组中增加一个HTTP请求默认值 在编辑框填入请求的协议,域名和端口号 在http请求框填入方法,路径就可以执行 在察看结果树结果中点开请求的body,就可以验证请求是否是预期的...

2020-02-09 10:26:19 159

转载 记录Python基础知识

1.列出 5 个常用 Python 标准库?import os #操作系统接口import sys #命令行参数import re #正则表达式import math #数学模块import time #...

2020-01-07 18:36:00 99

原创 Docker 中安装VIM报错

今天在调试TestLink 容器的时候,想修改一个数据库参数,结果没有vi和vim只有一个cat所有只有手动去安装一个vim在容器里面,使用命令去安装,发现报错sudo apt-get install vimroot@a1fabecfd6ce:/bitnami/testlink# sudo apt-get install vimReading package lists... Do...

2019-12-13 13:56:51 843

翻译 Requests中POST 请求参数中data和json的区别

最近在使用Python中Request库的时候,很多小朋友问post请求中data和json的区别:假如我们请求的body是json方式,请求的数据为payloadpayload = {'key1': 'value1', 'key2': 'value2'}如果是低版本的Requests的话,我们只有使用导入json来把字典dict转化成json:import jsonurl...

2019-12-02 17:11:00 2909 3

原创 Mysql 报错 Field 'id' doesn't have a default value

在创建数据库表的时候,写入数据报错Field 'id' doesn't have a default value,结果发现是自己设置的id没有设置自动递增的原因,使用Navicat工具文件--设计表中,选中id然后勾选自动递增就解决了...

2019-09-03 18:25:19 2603

原创 Python 列表删除相同的元素

今天遇到个问题,需要删除一个列表删除多个相同的值,比如list = [1, 2, 3, a, 4, 5, a, 7, a]想到的第一个办法就是去重后使用list的remove方法:但是使用这个方法后发现list的顺序变化了list1 = [10, 2, 3, "a", 4, 5, "a", 7, "a"]list2 = list(set(list1))list2.remove(...

2019-08-14 16:44:50 1386

原创 自动化测试 -- pycharm 环境准备

PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍一下 PyCharm 在 Windows下是如何安装的。这是 PyCharm 的下载地址:https://www.jetbrains.com/pycharm/download/#section=windows下载pycharm客户端进行安装:profe...

2019-07-16 17:06:03 413

原创 VSCode 使用日记

使用了四年的Pycharm,因为没钱买正版,而且听说VSCode对python支持也很强大,所以打算花点时间切换一下IDE,但是使用中也遇到无数问题,下面就是记录一下使用VSCode时候的小坑:如何去掉.pyc文件,py文件运行后就会留下很多pyc的文件呢 点击F1,输入open settings(JSON),增加一下exclude pyc 为true就可以解决了 "fi...

2019-05-19 16:07:39 831

原创 Docker 日常操作命令

因为是在windows上开发,但是代码是运行在服务器的CentOS上的,所以在本地启动了一个docker 来模拟线上服务器运行代码,下面是整理的一些日常docker操作命令:查看本地镜像:docker images 查看运行的docker镜像:docker ps 停止一个运行的docker: docker stop -t 600 docker kill <imageID&...

2019-04-02 17:19:47 271

转载 Python2 安装MySQLdb库

今天爬了半天坑,终于在windows上安装好了python2的MySQLdb库,直接使用cmd命令安装就会遇到各种报错python.exe -m pip install mysqlclient==1.3.12然后去https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python这个网站上下源文件,先去检查一下自己是什么系统,然后下载对于的...

2019-04-01 16:38:17 3195

原创 Session 和 Cookie 的区别和使用

Session 和 Cookie 的区别:Session是存在服务器端,Cookie是存在客户端(浏览器) Session的保存方法很多,内存、数据库、文件都有 Session 的运行依赖 Session id,而 Session id 是存在 Cookie 中的 Cookie可以记录Session ID, 账号信息等使用场景:Http协议是无状态的协议,所以服务端如何记住特定的用...

2019-02-27 10:56:11 153

翻译 Python Package 之 Faker(随机姓名、电话)

在写测试数据的时候会遇见造数据的问题,当然也可以通过写一个List,通过random去随机获取,但是今天看见这个Python  Package后,觉得使用这个更爽!!Faker(https://github.com/joke2k/faker)是一个可以让你生成伪造数据的Python包。当你需要初始化数据库,创建美观的XML文档,不断产生数据来进行压力测试或者想从生产服务器上拉取匿名数据的时候,...

2019-01-11 16:04:12 6206

转载 Python requirements.txt的使用方法

在使用Python的时候,需要把安装的Package通过requirements.txt 给导出来,让其他使用者更加方便的安装:在当前环境执行生成文件:pip freeze &gt;requirements.txt生成后的requirements.txt文件是:pytest==3.8.0pytest-allure-adaptor==1.7.10requests==2.18....

2019-01-08 18:39:24 4713 2

原创 JaCoCo 统计自动化测试代码覆盖率

1. 为什么要关注测试覆盖率:代码覆盖:设计测试用例的时候我们会考虑程序的逻辑,需要考虑到每个函数的输入与输出,逻辑分支代码的执行,这个时候我们的测试执行情况就需要一定的数据来衡量。我们用代码覆盖率的结果来反向检查覆盖用例是否充分完整。2. JaCoCo是什么:java主要代码覆盖工具:EMMA、JaCoCoJaCoCo是一个开源的覆盖率工具(官网地址: [https://www.j...

2018-12-13 17:49:14 4926 3

翻译 Python中Module(模块)和Package(包)

Module模块:在Python中,一个.py文件就称之为一个模块。比如一个module1.py文件(代码如下),就是一个名字叫module1的模块。def test(): print "test case"模块的导入以及使用:直接导入模块 import module1module1.test()   导入模块并重命名为m1 import m...

2018-12-10 15:47:27 215 1

原创 Linux使用XVFB做Selenium测试

Xvfb (X virtual frame buffer)程序可以用来作为完整X服务程序的替代。Xvfb 可以直接处理 Window 的图形化功能,并且不会把图像输出到萤幕上,也就是说,就算你的电脑没有启动 Xwindow , 你仍然可以执行任何图形程式。 为何要使用Xvfb:在使用服务器(Linux)进行测试时,如果没有安装Xwindows,在使用Selenium测试的时候,就没办法...

2018-11-20 14:07:58 1559 1

原创 RF 使用 Python 自定义 Library

RobotFramework 底层是使用Python创建的,在写自动化测试用例过程中,有时候需要简单自定义Library,来扩充一下Robotframework的功能新建一个Pyhont模块(Test.py),自定义需要的方法: class Test: def __init__(self): pass def test_method(self, a, b)...

2018-11-15 15:58:36 1846

原创 Python和RF编写web自动化

这个是想分享一下使用RF框架和Pyhont源码写同一个web自动化测试的案例,来解析一下各自的优缺点:Python2.7.x:通过python的selenium库能很快的对一个web进行效验,有以下几个步骤:导入python库文件 webdriver 打开浏览器 在web上进行一些操作(在输入框输入selenium,再点击搜索按钮) 验证title和预期的一致 关闭浏览器#...

2018-11-14 17:47:00 1123

翻译 python中用递归求和

递归函数: 直接或者间接调用自身以进行循环的函数。这里是用递归函数编写的一个定制求和函数的列子:def mysum(l): print(l) if not l: return 0 else: return l[0] + mysum(l[1:])print(mysum([1, 2, 3, 4, 5]))result:[1...

2018-11-01 16:35:17 12993

翻译 python中SSH远程服务器

Pyhton中的第三方包:paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能使用前需要手动安装:pip install paramiko使用账号密码的sshclient方法登录import paramiko# 服务器账号信息host_name = 'xxx'port = 38401username = "xxx"password = '...

2018-10-18 16:30:24 541

翻译 Python 列表解析 大文件

如果在一个4G的大文件test.log中提取里面有error的log:大家第一想法就是通过打开文件然后每一行的查找,耗时19s import timestart_time = time.time()with open('/Users/test/Downloads/test.log') as f: for line in f.readlines(): if '...

2018-10-15 17:39:44 184

翻译 python中is和==操作符

在以前的面试中,有一次被问到is的用法,当场懵逼,今天有空整理了一下这2个运算符的简单用法: ==运算符:测试两个被引用对象是否有相同的值l = [1, 2, 3]m = l[:]print m == lTrue is 运算符:检查对象的同一性,就是检查是指向同一个对象l = [1, 2, 3]m = [1, 2, 3]n = lprint l is...

2018-10-10 11:06:25 375

翻译 Python删除列表元素的三种方法

列表有三种方法来删除列表值:list.pop(index) 默认是最后一个元素 s = ['aa', 'bb', 'cc']s.pop() list.remove(value) 删除第一个找的值 s.remove(s[-1])print s del  删除列表的一个值 del s[-1]print s   ...

2018-10-08 16:54:35 1768

原创 RobotFramework中TimeOut的用法

今天在执行测试用例过程中,公司的MQ服务挂掉了,导致一个测试用例的post请求一直没的任何返回,所以需要在自动化测试用例中增加TimeOut的机制Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。在robot文件中的settings中设置suite timeout,这是指执行这个suite文件超过...

2018-09-20 10:45:44 4023 1

原创 python package 之 jenkins

    最近打算写一下自动化结果(UT和AT)的DashBoard(显示一下微服务一段时间的结果),所以需要写个小脚本来做一些事情。    首先要得到jenkins job中的console 的结果,我使用的是通过jenkins的api进行得到结果:    如何得到API Token:  在Jenkins登录后右上角账户 --》 设置  --》点击 show API Token   ...

2018-09-10 17:28:10 263

原创 RobotFramework 接口测试

请大家先看看RequestsLibrary和接口测试官方用例这2个官方链接 RequestsLibrary 库接口测试用例:*** Settings ***         Library Collections       Library RequestsLibrary       *** Test ...

2018-08-03 10:32:06 911

原创 RF & Selenium & RIDE

在RF自动化测试过程中,经常遇到一些概念问题,下面整理了一下几个基本概念: Robot Framework:http://robotframework.org/Robot Framework是一款python编写的功能自动化测试框架(支持Python、java、C 编写测试用例).具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行....

2018-07-26 10:35:32 1147

原创 Python 查询 Mongodb数据库

最近的写python连接Mongodb 数据库的例子,网上写了很多都是localhost,让有身份验证的我伤心不已,折腾了半天终于调试通过了:先连接数据库和集合:def connect_to_mongodb(self, username,passwd, host, port, dbname, collections): """ 初始化数据库 :param username:...

2018-04-17 18:01:23 1383

原创 2018计划

2018年计划1.  生活与责任     1. 个人事业有所发展     2. 一家人还是要去泰国或者杭州去玩一次,       3. 今年可以登上大姑娘山大峰(5000+),每个月出去爬一次山吧     2.  成长:思考、感悟、践行     2.1 如果学习到管理的办法,让自己在管理打造团队上有所建树     2.2 每天写一些code,让自己的技术水平有所提高。     2.3 整理一些文...

2018-04-15 14:56:24 87

空空如也

空空如也

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

TA关注的人

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