virtualbox+centos+docker+sde+PyCharm+httpd+jenkins进行接口自动化测试

下载以下三项
在这里插入图片描述

VirtualBox安装CentOS7
一:、下载CentOS7的镜像

下载地址:https://www.centos.org/download/

进入后有三个版本可以选择:

1、DVD ISO 标准安装版,一般下载这个就可以了(推荐)本文以此为例!

2、Everything ISO 对完整版安装盘的软件进行补充,集成所有软件!

3、Minimal ISO 一个非常基本的CentOS 系统,只需要最少的软件包即可拥有一个功能系统(软件比较少,大部分需要自己去装)

我下载的是:CentOS-7-x86_64-DVD-1708.iso

二:、创建虚拟机

2.1、选择linux版本

在这里插入图片描述

注意:如果选择版本的时候发现没有64 bit选项,说明你的电脑没有开启CPU虚拟化

双击运行“securable”程序(百度搜索securable 下载),在打开的程序主界面中就可以查看CPU是否支持虚拟化功能,如图所示,出现“YES”绿色标记,就表明CPU具有虚拟化功能。
在这里插入图片描述

开启虚拟化共功能方法:开机–》BIOS–》Configuration–》Intel Virtualization Technology --enable 回车
下一步。

2.2、分配内存

在这里插入图片描述

内存大于4G,根据宿主机的配置可以自己进行调整,这里的值可以理解为虚拟机最大可占用宿主机的多少内存

2.3、点击下一步设置虚拟硬盘
在这里插入图片描述

这里有三个选项,可以选择使用已有的虚拟硬盘文件,或者先不添加虚拟硬盘,等创建好虚拟机后再添加,这里我们选择第二个现在创建虚拟硬盘

2.4、点击创建,进入虚拟硬盘文件类型选项
在这里插入图片描述

一般选第一个 那两个没有用过,不过也可以尝试下。

2.5、点击下一步,进行设置如何分配虚拟硬盘

在这里插入图片描述

默认即可

2.6、点击下一步,指定虚拟硬盘文件的存放位置和虚拟硬盘的大小。
在这里插入图片描述

位置最好选择空间大的磁盘,不要放C盘哦,硬盘建议选择固定大小读写速度快。建议100G

2.7、点击创建,代表创建完成
在这里插入图片描述

三、安装虚拟环境

右键点击–》设置

3.1、选择网卡
在这里插入图片描述

设置网络选择桥接网卡,

3.2、设置镜像文件
在这里插入图片描述

点击OK。

3.3、启动虚拟机。
在这里插入图片描述

第一个选项是安装CentOS7,第二个选项是检查操作系统文件是否损坏并安装CentOS7

3.4、选择第一个安装CentOS7,进入语言选择

在这里插入图片描述

一直拉到最下面,当然选择中文–简体中文

3.5、点击继续,

在这里插入图片描述

提示先完成带有黄色叹号的内容,否则无法进行下一步,我们看到安装位置处于此状态,并显示已选择自动分区

3.6、黄色叹号只是警告我们默认使用了自动分区,目的是让我们确认一下,是否需要手动分区,我们点进去
在这里插入图片描述

如果不需要手动分区,还使用默认的自动分区进行安装的话,我们直接点击左上角的完成退出

3.7、退出后回到刚刚那个摘要的界面,发现黄色感叹号不见了

在这里插入图片描述

右下角可以开始安装了,不过安装之前我们需要把以太网打开,否则系统安装后无法联网,并且在命令行操作系统内开启网络需要修改配置相对麻烦。

3.8、摘要的界面上可以看到网络和主机名的显示为未链接,我们点进去

在这里插入图片描述

点击打开以太网,点击完成退出

3.9、此时的网络和主机名显示有线已连接

在这里插入图片描述

3.11、如果需要图形界面,可以点击软件选择,选择基本环境(如果需要图形界面请下载完整版的操作系统iso镜像文件)
在这里插入图片描述
安装选择GNOME桌面

3.12、设置root密码

在这里插入图片描述

点击root密码,

在这里插入图片描述

3.13、点击完成两次,所有黄色感叹号消失

在这里插入图片描述

点击完成配置。开启默默等待

3.14、完成后点击重启

在这里插入图片描述

3.15、输入用户名密码登录

在这里插入图片描述

至此CentOS7安装完

vbox虚拟机无法桥接网卡怎么办
https://jingyan.baidu.com/article/425e69e61b8367be15fc169c.html

全能型终端神器MobaXterm

在这里插入图片描述
Virtualbox CentOS7挂载共享文件夹
1、在Virtualbox中选中要挂载共享文件夹的虚机,点设置,然后选择“共享文件夹”,添加一个windows中的目录,如图。如果要获得写权限,不要勾选只读分配。另外要自主决定挂载的目录,不要勾选自动挂载。
在这里插入图片描述

2、启动虚机,进入linux,先创建要mount的文件夹

sudo mkdir /mnt/share
3、挂载文件夹

sudo mount -t vboxsf share /mnt/share
取消挂载命令:

sudo umount /mnt/share
4、如果要系统启动时自动挂载,在/etc/rc.local中加入mount命令

#file: /etc/rc.local

mount -t vboxsf share /mnt/share
注意,rc.local可能不是可执行的,如果不是,请执行chmod +x rc.local赋予其执行权限。

如果在挂载时遇到【mount: unknown filesystem type ‘vboxsf’】问题,需要给虚机安装增强功能:
在这里插入图片描述

很可能会报错:

在这里插入图片描述

需要手动挂载VBoxGuestAdditions.iso文件并安装:

(1) 打开CentOS系统,并以root权限进入系统

(2) 系统正常启动后,点击设备——>CD/DVD 设备——>选择ios文件,文件位于VirtualBox安装文件夹下

virtualbox增强功能-VBoxGuestAdditions安装
如还是没有可以去官网另外下载,e.g.
http://download.virtualbox.org/virtualbox/5.0.2/VBoxGuestAdditions_5.0.2.iso

(3) 将CD进行挂载。mount /dev/cdrom /cdrom (该cdrom是我在/目录下创建的文件夹)

(4) 进入cdrom并运行相关程序。cd /cdrom; sh ./VBoxLinuxAdditions.run (等待程序安装完毕,VirtualBox增强功能软件就在系统中安装完毕)

centos7 VM VirtualBox设置共享目录时报错。 /sbin/mount.vboxsf: mounting failed with the error: No such device
https://blog.csdn.net/daiyudong2020/article/details/58073520

文件取名与docker共享目录相同,docker可共享到windows的文件。

centos环境下安装sde
docker安装

1、sudo yum install docker 安装docker软件
2、sudo service docker start 启动docker服务
3、sudo chkconfig docker on 启动系统启动自动加载功能
4、在 /etc/docker/daemon.json(文件不存在可以新建文件),加入{“registry-mirrors”:[“https://registry.docker-cn.com”]}内容。加速下载
5、重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker

启动sde镜像

1、sudo docker import ubuntu-sde.tar.gz sde_docker 将压缩包导入至镜像。
导入成功后可以通过docker images查看
2、docker run -it --privileged -v /mnt/share:/mnt/share -p 3001:3000 --name zww_sde sde_docker:latest bin/bash
-i:以交互模式运行容器
-t:为容器重新分配一个伪输入终端
–privileged:获取宿主机特权模式
-v:给容器挂载存储卷,挂载到容器的某个目录
-p:指定容器暴露的端口,主机端口:容器端口
–name:为容器指定一个名称
sde_docker:latest image名为sde_docker的最新版本
bin/bash在容器内执行bin/bash命令

没进容器之前,可通过docker ps -a查看容器运行状态(docker rm -f aa575bc64e65 删除容器,sudo service docker start启动docker)

3、docker exec -it 容器ID /bin/bash 进入容器
docker exec -it 0a4466c01338 /bin/bash

docker删除不掉容器解决办法
删除不掉容器文件占用,其实是网络问题。
解决办法如下
1、docker stop 容器ID\容器名 先暂停
2、docker network disconnect --force bridge 容器ID\容器名 清除网络
3、docker rm -f 容器ID\容器名 再强制删除
运行测试用例

是在docker内运行环境,所以sde镜像完成后,下次进入docker可以
a、docker ps -a查看容器状态及容器ID(container ID)
b、若容器是exitd状态,则需要docker start 容器ID(若容器不是离开状态,不需要这一步)
docker start 0a4466c01338
c、然后再进去容器,docker exec -it 容器ID /bin/bash
docker exec -it 0a4466c01338 /bin/bash

1、cd /sde/bf-sde-9.0.0
2、source set_sde.bash 在使用环境前,设置环境变量
3、开发直接提供的docker镜像是已经编译好的环境,不需要编译
4、./install/bin/veth_setup.sh 创建网卡,供模拟器使用
5、./run_tofino_model.sh -p switch 这里注意,开发给的docker里面编译结果是switch不是my_switching
如果想后台运行,可以输入./run_tofino_model.sh -p switch &
-p后的参数如果是switch,找的目标目录是switch/ptf/api,如果是自定义目录则为p4-examples/ptf-tests/自定义目录。
在这里插入图片描述


再开一个命令输入框
docker exec -it 0a4466c01338 /bin/bash
cd /sde/bf-sde-9.0.0
source set_sde.bash 在使用环境前,设置环境变量

-----可以不用-------sudo ./install/bin/dma_setup.sh #设置虚拟机内存最大页
需要通过sudo sysctl -n vm.nr_hugepages查看是否为128,如果不是128则无法启动CLI。
特别注意:如果使用虚拟机,内存一定要至少4G。因为大内存页需要足够内存才能分配,否者无法满足CLI运行条件。

6、./run_switchd.sh -p switch 启动cli (当最大页不是128时会自 动执行下一条设置最大页的命令)
在这里插入图片描述

shell界面好了 重开一个对话框

docker exec -it 0a4466c01338 /bin/bash
cd /sde/bf-sde-9.0.0
source set_sde.bash 在使用环境前,设置环境变量
7、./run_p4_tests.sh -t ./pkgsrc/switch-p4-16/ptf/api/ -s switch_dtel运行测试用例

./run_p4_tests.sh -t ./pkgsrc/switch-p4-16/ptf/api/ -s switch_dtel --gen-xml-output --db-prefix /sde/bf-sde-9.0.0/a_test

-t:后面跟测试用例的目录
-s:后面跟测试用例文件名称,不需要.py的后缀名
--gen-xml-output --db-prefix :输出测试报告

python测试框架
需要安装requests库
未完待续。。。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值