想要从事 or 了解自动化测试开发、装备开发的小伙伴,本专栏内容将从0到1学习如何针对ARM服务器产品进行自动化测试平台的搭建,包括:测试界面的实现(GUI)、测试项的功能实现(压力测试、接口测试、版本更新)、测试数据的读取及保存!跟着学习完本专栏,相信你会对自动化测试开发、装备开发这一领域有更深入的了解。
那么我们这一章先来针对ARM服务器产品,分析测试流程,以及需要测试的测试项目,测试流程大概如下图:
这边黑色部分以及整机装配我们不参与,其他的部分均可通过自动化来实现测试,接下来我们来看下我们测试环境所需要的配置,我这边配置如下。
一.环境配置
我这边python的环境是3.7.8版本的,官方下载路径如下:
1.python 3.7.8
可直接进入官网下载安装:Download Python | Python.org
2.编译器选择的是spyder,可以通过pip接口进行安装:
pip install wheel
pip install PyQt5
pip install spyder
3.所需要的库如下:
pip install serial ##串口通信
pip install pyserial ##
pip install paramiko ##SSH2远程通信
4.测试框架的搭建及实现,我这边通过使用QT5完成GUI(Graphical User Interface)的开发,还有我这边还会用WEB端开发框架,前端还是用(html5、css3、javascript),后端我们用到了python的flask库,环境配置如下:
(1)使用 QT Designer :更方便的完成GUI设计
官方下载路径:Qt Designer Download for Windows and Mac
(2)falsk库安装:
pip install flask
(3)前端的话,想要学习的同学可以去搜索下教程,这边后面更多的是代码输出,不会有很深入的前端学习教程,前面做过的前端项目界面如下:
做的可能不是很好看,谅解!!里面包含了我们服务器所要测试的测试项目,后续会针对每次测试项目来实现功能。
二.实例演示
完成上述环境配置,我们就可以尝试先与服务器建链了。
下面的代码是状态指示灯的测试,我们一起来看下代码实现。
def LED(self):###状态指示灯
ssh=paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
time.sleep(3)
try:
ssh.connect(hostname=self.IP, port=22, username='xxxx', password='xxxx', compress=True)###与服务器建链
except:
tkinter.messagebox.showinfo('错误','查看环境是否配置正确!')
time.sleep(1)
channel = ssh.invoke_shell()
channel.send(self.Command + 'bsp led vswr 2 \n')###查看
time.sleep(1)
channel.send(self.Command + 'bsp led run 2 \n')###查看
time.sleep(1)
channel.send(self.Command + 'bsp led pwr 2 \n')###查看
time.sleep(1)
channel.send(self.Command + 'bsp led alarm 2 \n')###查看
time.sleep(1)
tkinter.messagebox.showinfo('查询','查看指示灯是否进入快闪状态!')
channel.send(self.Command + 'bsp led vswr 3 \n')###查看
time.sleep(1)
channel.send(self.Command + 'bsp led run 3 \n')###查看
time.sleep(1)
channel.send(self.Command + 'bsp led pwr 3 \n')###查看
time.sleep(1)
channel.send(self.Command + 'bsp led alarm 3 \n')###查看
time.sleep(1)
tkinter.messagebox.showinfo('查询','查看指示灯是否进入关闭状态!')
channel.send(self.Command + 'bsp led pwr 0 \n')###查看
time.sleep(1)
channel.send(self.Command + 'bsp led run 1 \n')###查看
time.sleep(1)
这边用到了paramiko库与服务器建链,获取驱动给到的接口指令,来调用检测我们的状态灯是否正常工作,这边我们后面再深入去讲解,本章节主要是安装好环境。
三.总结
按照上述操作先完成环境配置,一步一步来深入了解!