1、前言
Openbmc作为当下BMC固件领域最流行的开源软件,具备从需求计划、开发、调试、测试、版本管理等完整的体系。在测试领域,Openbmc基于python的robotframework框架,实现Openbmc的自动化测试,为高效发布Openbmc版本提供有力支持。本文作为测试系列文档一,介绍Openbmc自动化测试虚拟Openbmc的环境搭建
2、基础环境
- OS环境:Ubuntu+docker
- 软件环境:python3+pip3
- 虚拟openbmc
- 工具expect
PS1:ubuntu下,如无python3+pip3软件,可通过apt-get install 命令直接安装相关软件。
PS2:虚拟openbmc即openbmc体系中提供的qemu工具运行的bmc,可参考《openbmc系列之虚拟openbmc环境搭建》
PS3:环境说明:
1、OS系统为ubuntu系统,在系统上运行docker
2、制作openbmc的docker镜像,该镜像运行openbmc的编译,并运行虚拟openbmc
3、自动化测试环境运行在ubuntu系统上
3、Openbmc自动化测试搭建流程
- Openbmc自动化basecode路径:
GitHub - openbmc/openbmc-test-automation - robotframework源码路径:
GitHub - robotframework/robotframework: Generic automation framework for acceptance testing and RPA - 环境搭建步骤
- basecode下载
- git clone git@github.com:openbmc/openbmc-test-automation.git ./
- 依赖库安装
- Robotframwork安装
- pip3 install robotframework
- http自动化测试依赖库:
- pip3 install -U requests
- pip3 install -U robotframework-requests
- pip3 install -U robotframework-httplibrary
- Redfish自动化测试依赖库
- pip3 install redfish
- ssh与scp命令自动化测试依赖库
-
pip3 install robotframework-sshlibrary
-
pip3 installrobotframework-scplibrary
-
- 安装openbmc-test-automation的依赖
- pip3 install -r requirements.txt
- Web ui自动化测试依赖工具:
- pip3 install -U tox
- Robotframwork安装
- basecode下载
4、实例
- 启动虚拟Openbmc
build/evb-ast2600/tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/qemu-system-arm -nic user,hostfwd=tcp:0.0.0.0:3443-:443,hostfwd=tcp:0.0.0.0:2222-:22,hostfwd=tcp:0.0.0.0:628-:628,hostfwd=tcp:0.0.0.0:1234-:1234,hostfwd=udp:0.0.0.0:623-:623, -net nic -drive file=/home/yyb/openbmc-2.14/build/evb-ast2600/tmp/deploy/images/evb-ast2600/obmc-phosphor-image-evb-ast2600.static.mtd,if=mtd,format=raw -machine ast2600-evb -m 1G -serial pty -display none - 进入robot目录,执行自动化测试检测:
robot -v OPENBMC_HOST:172.17.0.3 -v SSH_PORT:2222 -v OPENBMC_USERNAME:root -v OPENBMC_PASSWORD:0penBmc -v HTTPS_PORT:3443 -v OPENBMC_USERNAME:root -v REDFISH_INTERFACE=3443 templates/test_openbmc_setup.robot,
执行结果测试成功截图: