Python
文章平均质量分 59
jxzdsw
这个作者很懒,什么都没留下…
展开
-
使用子进程执行关键字的Robot Framework库。可以使用多个子进程同时执行相同或者不同的关键字,从而使得robot具有并发执行关键字的能力。
使用子进程执行关键字的Robot Framework库。可以使用多个子进程同时执行相同或者不同的关键字,从而使得robot具有并发执行关键字的能力。使用multiprocessing.Process创建子进程。使用multiprocessing.Manager创建多进程安全的字典存储子进程的返回值。为了减少学习成本,这个库的API和标准库Process的API类似。原创 2023-12-29 18:42:18 · 915 阅读 · 1 评论 -
使用locust测试百万并发TCP连接
使用locust测试百万并发TCP连接。jmeter每个htttp user是一个线程。Locust每个http user是一个协程。所以相同的资源条件下locust能模拟的http user数目远超jmeter。原创 2022-12-15 21:30:00 · 1782 阅读 · 0 评论 -
robotframework-sshlibrary简介、关键字讲解、Read_until_xxx代码分析和实用关键字send_command的封装
robotframework-sshlibrary简介、关键字讲解、Read_until_xxx代码分析和实用关键字send_command的封装原创 2022-11-26 16:30:38 · 3294 阅读 · 1 评论 -
从本文中提取所有json字符串,返回字典组成的列表
从本文中提取所有json字符串,转换为字典列表原创 2021-12-06 19:07:46 · 1635 阅读 · 1 评论 -
网络设备集成测试/组网测试拓扑/组网自适应自动化配置脚本示例
思路 网络设备集成测试/组网测试自动化配置脚本的示例。本例中使用的是cisco模拟器,IOS版本是12.4。主要诉求是能够自适应拓扑变化和组网方式变化。本例中演示了域内MPLS/BGP VPN组网环境中P网络的OSPF和BGP的自动配置。比如本例中dut2做PE、dut3做RR,只需修改配置文件,脚本可以自适应。添加dut4连接到dut2上,做为一个新的PE,只需修改配置文件,脚本可以自适应。本例中要求设备已经连好线,接口已经up,配置好了接口ip地址,也配置好了loopback地址。源.原创 2021-08-31 19:34:35 · 891 阅读 · 0 评论 -
网络设备自动化测试之逻辑拓扑自动生成
功能、性能测试自动化中因为每个案例有不同的拓扑,总共有几十种拓扑。不能针对每种拓扑都去连好线,这样资源开销太大,又难以维护。实际中我们使用拓扑交换,每台DUT只需要和拓扑交换机相连即可。然后定义逻辑拓扑的xml文件,这里定义了三角形的逻辑拓扑xml文件triangel.xml。根据逻辑拓扑来划分拓扑交换机上的vlan,从而实现逻辑拓扑的自动生成。也会为每个DUT的接口自动分配IP地址。pysical_top.xml<?xml version="1.0" encoding="UTF-8"?&g原创 2021-09-01 20:09:01 · 1792 阅读 · 3 评论 -
python中内置函数getatrr()、setattr()、hasattr()、delattr()的作用
Python可以在类之外添加、删除属性,虽然很灵活,但是给代码书写者带来了不确定性。Python提供了一组内置函数方便属性操作。内置函数hasattr(object, name)用来判断对象是否包含对应的属性。如果包含,则返回True,否则返回False。内置函数getattr(object, name[, default]) 用来获取属性值。如果属性不存在,则返回default,没有指定default时,抛出异常AttributeError。内置函数setattr(object, name,原创 2020-12-15 23:21:14 · 626 阅读 · 0 评论 -
实现一个简单的python自动化测试框架
实现一个简单的python自动化测试框架。父类中实现runTest()方法和assertEqual()。子类编写test开头的测试函数,其中调用assertEqual()。实例化子类,运行父类中runTest()方法,执行测试函数。如何在父类中的runTest()中发现子类中的测试函数?我们使用的是子类的实例调用runTest(),所以dir()就能够知道子类中的所有名字,然后使用getattr()将名字转换成测试函数。另外在父类中实现了钩子方法setUp()和tearDown()。原创 2020-08-26 22:08:47 · 625 阅读 · 0 评论 -
python测试框架unittest源代码分析
Python3.6.3 unittest源代码分析程序入口:main.py中定义类TestProgram,它实现了运行测试的命令行程序。它不支持在代码中定义的testsuite。测试加载:loader.TestLoader将test加载到testsuite中。其中定义了discover(),用来支持用例的自动发现。因为unittest代码中有defaultTestLoader = TestLoader(),所以测试代码中可以直接使用loader.TestLoader的实例unit..原创 2020-07-30 21:11:56 · 1158 阅读 · 0 评论 -
基于nose、使用django实现的自动化测试执行平台实现Rerun Failed功能。
Windautotest是我开发的一个基于Web界面进行操作的测试用例自动化执行平台。Windautotest使用python+django在nose+unittest的基础上开发。相比于直接使用nose,使得测试执行更方便,测试结果更易于管理。需求:点击job的Rerun Failed按钮,生成一个新的job,运行当前job的失败用例。对于Rerun Failed生成的job,仍然可以执行Rerun Failed操作。思考:nosetests --with-id运行时可以生成.nos.原创 2020-06-29 13:02:36 · 399 阅读 · 0 评论 -
python测试框架unittest数据驱动插件ddt源代码分析
unittest需要第三方插件ddt来实现数据驱动。数据可以是列表、字典或者JSON文件。>pip install ddt进行安装下面是一个简单的使用举例。import unittestimport ddt@ddt.ddtclass TestAdd(unittest.TestCase): @ddt.data([1,2,3],[3,4,7]) @ddt.unpack def test_add(self,a,b,c): assert ...原创 2020-05-22 20:31:09 · 848 阅读 · 0 评论 -
实现python pytest excel数据驱动
pytest支持数据驱动基础举例:import pytest@pytest.mark.parametrize("a,b,c",[[1,2,3],[3,4,7]])def test_add(a,b,c):assert a+b==c执行时,将分别使用上面两组数据,执行两个test。实际中我们经常使用excel文件来提供数据。所以实现excel数据驱动。实现思路:将读取出的excle文件中的标题行中各个单元格使用逗号连接成一个字符串,数据以双重列表的方式返回,作为@pyt.原创 2020-05-22 12:41:45 · 5408 阅读 · 1 评论 -
xlrd和xlwt封装,实现修改、删除excel文档单元格内容,插入、删除行
xlwt不能修改已有的excel文档。这里我在xlrd和xlwt基础上实现了修改excel文档的功能,包括插入、删除行,修改单元格内容、删除单元格内容。限制:虽然能够打开xlsx文件,但是只能生成xls文件。公式和宏丢失了。注意:行和列都是从0开始计数#coding=UTF-8#python 3.4 3.6#excel 2007#author=liuyifan#date=20171102#xlrd 1.1#xlwt 1.3'''在xlrd和xlwt基础上实现了修改excel原创 2020-05-14 20:00:29 · 9146 阅读 · 2 评论 -
递归查找指定目录中含有指定关键字的文件
Windows不支持搜索.java、.c、.py、.tcl文件的内容。这里我实现一个函数find_files_by_suffix_and_content()递归查找指定目录中含有指定关键字的文件。可以根据文件后缀过滤文件。#python3.6#Windows不支持搜索.java、.c、.py、.tcl文件的内容。这里我实现一个函数find_files_by_suffix_and_content()递归查找指定目录中含有指定关键字的文件。可以根据文件后缀过滤文件。import os#查找指定目录原创 2020-05-14 20:02:10 · 879 阅读 · 0 评论 -
实现通用的接口自动化测试用例脚本,自动读取excel接口文档进行接口测试
这里介绍一种方式,实现了读取excel接口文档,生成通用的接口自动化测试用例脚本utils.py源代码:import xlrddef parse_intf(file,sheet_index): with xlrd.open_workbook(file) as f: table = f.sheet_by_index(sheet_index) for row in range(0,table.nrows): if (table.ro原创 2020-05-09 22:19:34 · 1935 阅读 · 0 评论 -
python类讲解
简单的类的举例:class Person: def set_name(self, name): # self相当于java中的this self.name=name def get_name(self): return self.name; def greet(self): print("hello,i'm %...原创 2020-04-30 21:19:56 · 528 阅读 · 0 评论 -
python函数讲解
函数定义举例:def my_square(x):return x*x函数调用时位置参数(positional)必须提供值,并且必须通过位置来表示值的含义。关键字参数(keyword)在调用时对参数的个数和位置没有固定要求,在调用时没有提供的参数值使用默认值。使用/表示位置参数的结束,用*表示名字参数的开始,这中间的是带默认值的参数。但是很多时候并没有明确标识边界。举例:...原创 2020-04-30 20:53:51 · 436 阅读 · 1 评论 -
1bit-Trie(一种二叉树)实现路由表
树的定义和基本术语树:是n(>=0)个结点的有限集,它或为空树(n=0);或为非空树,对于非空树T:(1)有且仅有一个称之为根的结点;(2)除根结点以外的其余节点可分为 m(m>0)互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树(subtree).从树的定义中我们要知道树的固有特性,即树的定义中又用到了树的定义,是一个递归的定义.键树...原创 2020-01-10 12:54:13 · 1374 阅读 · 0 评论 -
使用python依次比较两个pcap文件中的每个报文
#coding=UTF-8#author="刘一凡"#date=20190826'''程序功能依次比较两个pcap文件中的每个报文。如果报文不同,则输出不相同的字节的偏移量文件长度不同,报文长度不同时,给出提示。但是也进行比较。直到有一个文件没有内容了使用方法:将要比较的文件名赋值给变量file1和file2'''file1 = "pim1.pcap"file2 = "p...原创 2019-09-12 11:16:11 · 1933 阅读 · 0 评论 -
使用python requests库,使用bs4解析网页内容提取url,使用广度优先算法,爬取一个网站的所有网页
实现一个类,抓取一个网站所有页面实现思路:一边添加url,一边抓取,一直进行下去就可以了,直到列表遍历完成,说明没有新的url可供抓取,即抓取完成。实际上是图的广度优先遍历。import urllib.requestimport refrom bs4 import BeautifulSoupclass get_all_page_of_site(): ''' 参数u...原创 2018-07-26 15:48:22 · 4208 阅读 · 0 评论 -
python修饰器/装饰器原理、作用及使用举例
python函数修饰器是一个函数,被修饰的函数或者方法是其唯一的参数,在修饰器函数中定义wrapper函数,其中执行被修饰的函数,以及额外功能,修饰器函数返回wrapper函数。调用被修饰的函数时,通过修饰器函数将被修饰的函数传递给wrapper函数,实际执行的是wrapper函数。举例#coding=UTF-8#author=刘一凡#python3.6from datetime ...原创 2018-09-03 15:21:29 · 3893 阅读 · 0 评论