文档章节

TRex 学习 (5)---- stateful(API)

terry_hding
 terry_hding
发布于 2017/05/03 22:53
字数 577
阅读 432
收藏 0

一个好的接口可以给自动化测试带来无限的动力,如果接口不好,我们可能会调用ssh去执行bash,或者调用Pexpect库去交互,但是有好的接口,给我们的只是一个包,那就是一个好的自动化测试工具。

TRex Stateful Python API测试

  1. 启动 Stateful Server
    root@trex:/tmp/trex/v2.23# ./trex_daemon_server restart TRex server daemon is killed Firing up TRex REST daemon @ port 8090 ... TRex server daemon is started
  2. 进入目录
    root@trex:/tmp/trex/v2.23# cd automation/trex_control_plane/stf/examples/
  3. gav.py
  1 import argparse
  2 import stf_path
  3 from trex_stf_lib.trex_client import CTRexClient
  4 from pprint import pprint
  5 
  6 # sample TRex stateful run
  7 # assuming server daemon is running.
  8 
  9 def minimal_stateful_test(server):
 10     print('Connecting to %s' % server)
 11     trex_client = CTRexClient(server)
 12 
 13     print('Connected, start TRex')
 14     trex_client.start_trex(
 15             c = 1,
 16             m = 1,
 17             f = 'cap2/http_virus.yaml',
 18             d = 30,
 19             )
 20 
 21     print('Sample until end')
 22     result = trex_client.sample_to_run_finish()
 23 
 24     print('Test results:')
 25     print(result)
 26 
 27     print('TX by ports:')
 28     tx_ptks_dict = result.get_last_value('trex-global.data', 'opackets-*')
 29     print('  |  '.join(['%s: %s' % (k.split('-')[-1], tx_ptks_dict[k]) for k in sorted(tx_ptks_d
    ict.keys())]))
 30 
 31     print('RX by ports:')
 32     rx_ptks_dict = result.get_last_value('trex-global.data', 'ipackets-*')
 33     print('  |  '.join(['%s: %s' % (k.split('-')[-1], rx_ptks_dict[k]) for k in sorted(rx_ptks_d
    ict.keys())]))
 34 
 35     print('CPU utilization:')
 36     print(result.get_value_list('trex-global.data.m_cpu_util'))
 37 
 38     #Dump of *latest* result sample, uncomment to see it all
 39     #print('Latest result dump:')
 40     #pprint(result.get_latest_dump())
 41 
 42 
 43 if __name__ == '__main__':
 44     parser = argparse.ArgumentParser(description="Example for TRex Stateful, assuming server dae
    mon is running.")
 45     parser.add_argument('-s', '--server',
 46                         dest='server',
 47                         help='Remote trex address',
 48                         default='127.0.0.1',
 49                         type = str)
 50     args = parser.parse_args()
 51 
 52     minimal_stateful_test(args.server)
  1. result
root@trex:/tmp/trex/v2.23/automation/trex_control_plane/stf/examples# python gav.py 
Connecting to 127.0.0.1
Connected, start TRex
Sample until end
Test results:
Is valid history?       True
Done warmup?            True
Expected tx rate:       {u'm_tx_expected_pps': 2800.0, u'm_tx_expected_bps': 14577600.0, u'm_tx_expected_cps': 100.0}
Current tx rate:        {u'm_tx_bps': 5102998.5, u'm_tx_cps': 31.6, u'm_tx_pps': 978.1}
Minimum latency:        None
Maximum latency:        None
Average latency:        None
Average window latency: None
Total drops:            44986
Drop rate:              3328075.8
History size so far:    34
TX by ports:
0: 38987  |  1: 44985
RX by ports:
0: 23991  |  1: 14995
CPU utilization:
[0.0, 0.06825, 1.015, 1.059, 0.8428, 0.7444, 0.6778, 0.5246, 0.7297, 0.705, 0.546, 0.4228, 0.6708, 0.5279, 0.5601, 0.4331, 0.3598, 0.4806, 0.412, 0.369, 0.3962, 0.3549, 0.2902, 0.2594, 0.2125, 0.4259, 0.3509, 0.2767, 0.2138, 0.3293, 0.4195, 0.4195, 0.4195, 0.4195]
  1. 在结果中可以显示发包,收包速率,以及CPU的利用率,当然还可以知道其它的一些关键字,因此适合在自动化中运用

参考

` http://trex-tgn.cisco.com/trex/doc/trex_manual.html

© 著作权归作者所有

terry_hding
粉丝 38
博文 133
码字总数 139248
作品 0
杨浦
QA/测试工程师
私信 提问
trex发包时,执行stateful发包命令系统报错。

@terry_hding 你好,想跟你请教个问题: 你好,按照https://my.oschina.net/hding/blog/889441您这个链接中所述, 进行stateful发包,系统提示如下错误: root@Tester-SDN:/opt/trex/v2.28#...

段锦星
2017/10/18
110
2
TRex运行过程中,物理网卡找不到

@terry_hding 你好,想跟你请教个问题:在运行TRex进程时候,ifconfig中看不到物理网卡的信息。停掉进程也没有。只有重启系统才会出现。包括发包过程中抓包啊什么的都没法做。请教一下您,有...

段锦星
2017/07/25
68
1
如何实现一个允许中断/恢复传输的视频推流方案

关键是允许中断/恢复传输视频,所以我第一想法是使用fragment mp4. 方案是: 1. ffmpeg -f dshow -i ** -vcodec libx264 -acodec aac -f mp4 -movflags empty_moov+default_base_moof+frag_......

yk_cqq
2017/06/26
123
0
顶级 Linux 间谍木马潜伏多年,监控45国政府

近日卡巴斯基和赛门铁克的安全专家发现了一个极其隐秘的Linux间谍木马,专门窃取全球政府部门和重要行业的敏感数据。 最新发现的Linux间谍木马是卡巴斯基和赛门铁克今年8月份发现的高级持续攻...

oschina
2014/12/16
14.5K
80
MP4文件格式详解——结构概述

MP4文件格式详解(ISO-14496-12/14) 一、基本概念 1、 文件,由许多Box和FullBox组成。 2、 Box,每个Box由Header和Data组成。 3、 FullBox,是Box的扩展,Box结构的基础上在Header中增加8...

szfhy
2018/05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机网络

计算机网络体系结构 OSI 其中表示层和会话层用途如下: 表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。 会话层 :建立及管理会话。 五层...

一只小青蛙
今天
2
0
0.01-Win10安装linux子系统

一、安装Debian子系统 -1、控制面板设置: -1.1、打开“控制面板” —— “程序” —— “启用或关闭Windows功能” —— 勾选 “适用于Linux的Windows子系统” -2、设置: -2.1、打开“设置”...

静以修身2025
昨天
2
0
init 0-6 (启动级别:init 0,1,2,3,4,5,6)

启动级别: init 0,1,2,3,4,5,6 这是个很久的知识点了,只是自己一直都迷迷糊糊的,今天在翻出来好好理解下。。 0: 停机 1:单用户形式,只root进行维护 2:多用户,不能使用net file system...

圣洁之子
昨天
2
0
Android Camera HAL浅析

1、Camera成像原理介绍 Camera工作流程图 Camera的成像原理可以简单概括如下: 景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转...

天王盖地虎626
昨天
2
0
聊聊Elasticsearch的ProcessProbe

序 本文主要研究一下Elasticsearch的ProcessProbe ProcessProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/process/ProcessProbe.java public class ProcessProb......

go4it
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部