【1】自动化测试环境配置(ARM服务器)

      想要从事 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库与服务器建链,获取驱动给到的接口指令,来调用检测我们的状态灯是否正常工作,这边我们后面再深入去讲解,本章节主要是安装好环境。

三.总结

按照上述操作先完成环境配置,一步一步来深入了解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/249094.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工资计算_分支结构 C语言xdoj63

问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资为S元,则他应交的个人所得税按如下公式计算: 1) 个人所得税起征点为3500元,若S不超过3500,则…

腾讯文档助力CRM集成:无代码连接电商与广告

腾讯文档API的简介与优势 腾讯文档API是一个强大的工具,它允许企业通过简单的无代码开发来实现与电商平台和客服系统的智能连接。这种连接不仅提高了工作效率,还优化了数据管理。使用腾讯文档智能表,商家可以享受多样的列类型、多维视图展示…

【Python】—— 如果使用matplotlib做数据可视化

matplotlib做数据可视化 相关知识掌握matplotlib的基本使用方法1. 折线图2. 散点图3. 柱状图4. 饼图5. 直方图6. 等高线图7. 图形定制 掌握数据处理的基本方法1. 数据筛选2. 缺失值处理3. 异常值处理 理解数据可视化的原则和方法1. 选择合适的图表类型2. 避免数据混淆3. 突出重…

用Bat文件调用小牛翻译api快速翻译

为了帮助大家更加轻松地调用机器翻译api,本人探索实现了一种可以通过BAT文件来调用机器翻译api,对粘贴板中的文本进行翻译,并将翻译结果保存为txt文件。下面把实现步骤简要说明如下: 第一步:获取小牛机器翻译api 进入…

如何使用Docker进行容器的备份和恢复

一 简介: 在使用Docker进行应用程序的容器化部署时,我们经常需要对容器进行备份和恢复操作。备份容器可以保证数据的安全性,而恢复操作可以帮助我们快速恢复出现问题的容器。本文将介绍如何使用Docker进行容器的备份和恢复,同时提…

Centos开机进入grub命令行模式进入不了操作系统

环境:没有linux命令,没有initrd命令,没有init6命令 由于删除了/boot/efi/EFI/centos/grub.cfg ,重启服务器后,无法进入原来正常的系统,进入了grub命令行界面 备注:对于centos7/8/openEuler: 如果…

智能优化算法应用:基于和声算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于和声算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于和声算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.和声算法4.实验参数设定5.算法结果6.参考文献7.MA…

RS®SMM100A 矢量信号发生器具备毫米波测试功能的中档矢量信号发生器

R&SSMM100A 矢量信号发生器 具备毫米波测试功能的中档矢量信号发生器 R&SSMM100A 矢量信号发生器在 100 kHz 至 44 GHz 的频率范围内提供优越的射频特性。这款仪器覆盖现有无线标准所使用的 6 GHz 以下的频段、新定义的最高 7.125 GHz 的 5G NR FR1 和 Wi-Fi 6E 频段以…

【Docker六】Docker-consul

目录 一、docker-consul概述 1、服务注册和发现: 1.1、服务注册和发现概念 1.2、服务注册和发现工作机制: 1.3、服务注册与发现的优点: 2、docker-consul概念 2.1、consul的主要特点: 二、consul架构部署: 1、…

实战 | OpenCV传统方法实现密集圆形分割与计数(详细步骤 + y源码)

导 读 本文主要介绍基于OpenCV传统方法实现密集圆形分割与计数应用,并给详细步骤和代码。 背景介绍 实例图片来源于网络,目标是分割下图中圆形目标并计数。 本文实现效果如下: 实现步骤 【1】灰度转换 + 均值滤波 + 二值化,得到参考背景 img = cv2.imread(src.jpg)c…

S1试讲讲稿

习题题目 答案 用到的概念: 概率之和等于1 E ( x ) ∑ i 1 4 x i P i E(x)\sum_{i1}^4x_iP_i E(x)∑i14​xi​Pi​ E ( x 2 ) ∑ i 1 4 x i 2 P i E(x^2)\sum_{i1}^4x_i^2P_i E(x2)∑i14​xi2​Pi​ V a r ( X ) Var(X) Var(X) ∑ i 1 4 ( x i − x ‾ ) 2…

微服务保护--线程隔离(舱壁模式)

一、线程隔离的实现方式 线程隔离有两种方式实现: 线程池隔离 信号量隔离(Sentinel默认采用) 如图: 线程池隔离:给每个服务调用业务分配一个线程池,利用线程池本身实现隔离效果 信号量隔离&#xff1a…

eclipse连接mysql数据库(下载eclipse,下载安装mysql,下载mysql驱动)

前言: 使用版本:eclipse2017,mysql5.7.0,MySQL的jar建议使用最新的,可以避免警告! 1:下载安装:eclipse,mysql在我之前博客中有 http://t.csdnimg.cn/UW5fshttp://t.csdn…

Linux-CentOS7(无图形界面版)部署stable-diffusion-webui 全过程

Linux-CentOS7(无图形界面版)部署Stable Diffusion webui 全过程 前置要求 git的版本不能是CentOS默认的版本(1.8),版本太老,在后面安装过程会失败。去github上下载最新的git源码包 安装成功显示版本号 …

《Linux C编程实战》笔记:目录操作

目录的创建和删除 mkdir函数 #include <sys/stat.h> #include <sys/types.h> int mkdir(const char *pathname, mode_t mode); mkdir创建一个新的空目录。空目录中会自动创建.和..目录项。所创建的目录的存取许可权由mode (mode &~umask)指定。 新创建目录的…

Linux---cp和mv命令选项

1. cp命令选项 命令选项说明-i交互式提示-r递归拷贝目录及其内容-v显示拷贝后的路径描述-a保留文件的原有权限 cp -i命令选项效果图: cp -r命令选项效果图: cp -v命令选项效果图: cp -a命令选项效果图: -a选项说明: -a 选项还支持拷贝文件夹并且文件夹中的文件权限不丢失 …

如何发布自定义 npm 组件包

准备工作 1. 注册 npm 账号 还没有 npm 账号&#xff1f;去官网注册&#xff1a; https://www.npmjs.com 需要记住用户名、密码、邮箱&#xff0c;后面需要用到。 2. 查看本地 npm 镜像&#xff0c;如果不是默认的&#xff0c;需要改回来 npm config get registry重置镜像路…

C语言--求数组的最大值和最小值【两种方法】

&#x1f357;方法一&#xff1a;用for循环遍历数组&#xff0c;找出最大值与最小值 &#x1f357;方法二&#xff1a;用qsort排序&#xff0c;让数组成为升序的有序数组&#xff0c;第一个值就是最小值&#xff0c;最后一个是最大值 完整代码&#xff1a; 方法一&#xff1a; …

国外博士论文下载网址

系列文章目录 前言 如果你想补充其他相关网址&#xff0c;请留言 一、pqdtcn 1.1 使用说明 浏览本数据库建议使用chrome浏览器&#xff01; ProQuest检索平台在今年暑假做了界面升级。为了使您能更快了解升级后的界面功能&#xff0c;ProQuest公司准备了中文版用户使用手册…

【CSS】前端点点点加载小点样式css动画过程实现

对话的 ... 加载动画&#xff0c;直接用 CSS 就可以实现&#xff0c;样式可以自己改&#xff0c;逻辑大差不差 <div class"loading-text"><span class"dot1"></span><span class"dot2"></span><span class&quo…