范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

新能源车行业带你见识不一样的自动化测试

  提起 自动化测试 ,大家脑中立即能浮现的大多数是 Python 开发语言、JAVA开发语言、Appium测试框架、Selenium测试框架等,大部分WEB公司只要做自动化测试基本上都离不开上面谈到的开发语言和框架。
  不过仍然有很多公司会有不一样的自动化测试需求,例如万次级别断常电、 手机 行业的开关机、功耗满负载测试等。
  笔者在工作中就遇到过以上"另类"自动化测试,会遇上很多沟沟坎坎,但是非常有意思,各位看官且慢慢往下看。
  进行断常电测试的背景与需求
  笔者供职于国内某新能源汽车企业,以前听到汽车两个字,能联想到的肯定是外观、加速、舒适、油耗等等,进入新能源时代,不得不提 互联网 、安卓、科技等等词汇。
  市场上新能源汽车在2021年已经进入了5G时代,爆炸的流量提升,极致的冲浪体验加速了互联网在新能源汽车上的应用,相对应的也催生了大批车机测试工程师,除了传统的CAN(FD)、ECU测试外,车机的软硬件测试已经走上了舞台。
  传统的汽车功能如行车 记录 仪、收音机、倒车影像(全景影像)均被集成到车机中,不再是单独的功能孤岛。
  虽然某些功能在中控以及方向盘保留了按钮控制,同时也被整合到车机中包括灯光设置、ACC自动领航设置、自动泊车设置、空调设置、音效设置等等,互联网作为最重要的部分已经被车机拿下。
  例如音乐 APP 、播报APP、智能语音、地图APP以及海量移动应用等等。
  作为汽车中的主机,首先面临的就是汽车超频繁的上电、下电,一辆家用汽车15年间预计会有3万次的启动,我们不可能由人力去做此类测试,因此需要有控制车机自动上电、下电的方案。
  断常电方案设计之继电器
  继电器通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种"自动开关",故在电路中起着自动调节、安全保护、转换电路等作用。
  控制上下电的关键器件是继电器,通常为继电器供电为5V,所以我们选择1路或多路5V继电器模块,图2-1为常见的继电器模块。
  输入部分:
  ①DC+:接电源正极(电压按继电器要求,有5V、9V、12V、24V等选择,我们接Arduino开发板5V接口,所以选择5V)。
  ②DC-:接电源负极。
  ③IN:可以高或低电平控制继电器吸合(我们接Arduino开发板高低电平可编程输出口)。
  继电器输出端:
  ①NO:继电器常开接口,继电器吸合前悬空,吸合后与COM短接。
  ②COM:继电器公用接口。
  ③NC:继电器常闭接口,继电器吸合前与COM短接,吸合后悬空。
  高低电平触发选择端(方案中不涉及该接口):
  ①跳线与LOW短接时为低电平触发。
  ②跳线与High短接时为高电平触发。
  图2-1
  图2-2为4路继电器的接线方案,通过Arduino开发板为输入端DC+、DC-供电,同时通过Arduino开发板的可编程输出口为继电器输入端的IN接口输入交替的高低电平,从而达到控制输出端NC接口的吸合,从而达到自动通断电的目标。
  ①向Arduino开发板供电(电脑USB口5V)。
  ②Arduino开发板高低电平可编程输出口之一,接继电器IN口,控制高低电平交替输入给继电器。
  ③为继电器输入端供电,接继电器DC+接口。
  ④负极接继电器DC-接口。
  ⑤第一路COM口,接车机供电电源正极。
  ⑥第一路NO口,接车机正极输入,通过NO口的开合从而达到接通电源与车机的正极线路的通断,达到测试目的。
  图2-2
  断常电方案设计之Arduino开发板
  Arduino是一款便捷灵活、方便上手的开源电子原型平台,如图3-1、3-2,它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。
  主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。
  你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。在我们的断常电自动化测试方案中它扮演的角色很简单,就是通过输出口输出高低电平给继电器。
  ①复位按键
  ②USB接口
  ③数字端口1-13
  ④3.3V输出
  ⑤5V输出
  ⑥GND
  图3-1
  安装Arduino开发环境
  ①Arduino集成开发环境下载
  Arduino IDE 1.8.15下载:https://share.weiyun.com/lEzbr39k
  其中2.0是beta版本,不建议初学者使用。
  如果你下载的是windows安装版(exe后缀),那么直接安装即可,其他则直接解压即可使用。
  早期版本下载:https://pan.baidu.com/s/1_XjwpiClKPCrt3c4Ie3SCw
  如果你使用的是Arduino Due、ESP8266等开发板,也是使用这个IDE。
  通过开发板管理器添加更多控制器?http://www.arduino.cn/thread-17884-1-1.html
  ②安装Ardunino IDE 1.8.15版本,图3-3。
  图3-2
  正式对Ardunino开发板进行开发
  ①通过USB将Ardunino连接到电脑,在"工具-开发板"选择Arduino Leonardo,因为笔者的Ardunino为Arduino Leonardo开发板。
  ②在集成开发环境写入如下代码。
  void setup() {//设备初始化
  // initialize digital pin LED_BUILTIN as an output.
  Serial.begin(115200);//设置串口波特率为115200
  pinMode(LedP, OUTPUT);//将LedP引脚设置为输出模式
  }
  // the loop function runs over and over again forever
  void loop() {
  if (Serial.available()>0)//判断串口是否激活
  {
  inByte = Serial.read();//读取串口数据到变量inByte
  if (inByte == "1")//判断inByte是否接收到十六进制字符1
  {
  digitalWrite(LedP, LOW);//如果inByte接收到十六进制字符1,将LedP引脚输出低电平
  }
  if (inByte == "0")//判断inByte是否接收到数字0
  {
  digitalWrite(LedP, HIGH);//如果inByte接收到十六进制字符0,将LedP引脚输出高电平
  }
  }
  }
  ③点击向右按钮将写好的程序上传至Ardunino开发板,至此,开发板的程序就写好了,下一章我们开始正式测试该方案。
  测试线路通断状况
  使用Python模拟向Ardunino串口发送十六进制字符1和0,进而引发继电器的开合,测试线路的通断情况。
  Import serial#导入serial模块
  try:
  portx="COM8"
  bps=115200#波特率,标准值之一:50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200
  timex=0.5#超时设置,None:永远等待操作,0为立即返回请求结果,其他值为等待超时时间(单位为秒)
  Ser =serial.Serial(portx,bps,timeout=timex)#连接COM8串口
  print("串口详情参数:", ser)#打印串口详情
  result=Ser.write(‘x1’.encode())#向串口写十六进制字符1
  print("写总字节数:",result)
  print(ser.readline())
  print("---------------")
  Ser.close()#关闭串口
  except Exception as e:
  print("---异常---:",e)
  以上为Python的测试代码,真正工作起来时还需要加入循环向串口写入十六进制字符1和0,再扩展的话就是使用Python的图形界面了,将波特率、超时设置、循环次数、串口选择等放在图形界面中来配置,以后再分享给读者。
  总结
  以上方案与代码都是实际上机实操的,随着最终Ardunino开发板的一声蜂鸣,开始有规律的产生高低电平,由衷的感到欣喜,虽然这套方案相对比较简单,不过对于基础薄弱的同学可能还是有难度,在此给出详细的学习路线,以供参考和发散。
  Python的学习线路:可以先从基本语法、基础数据结构(数据类型、元组、list、map)开始学习,打好基础可以开始学习重要的包(例如requests、json、time、pip、Numpy、PyQt、selenium),接着可以在一个包深入学习,例如requests包,可以结合selenium、json等做一次接口自动化测试,相信按照这个学习路线下来你肯定对Python有比较深入的了解了。
  Ardunino开发板的学习路线:如果是为了工作可以选择针对性的问题公关,例如该方案中的高低电平输出。
  感兴趣的同学可以继续深入学习Ardunino开发板,它可以做的事情太多了,也很高大上,例如无人机,不过这就需要更专业的算法、飞控知识以及硬件知识了。
  继电器:需要有电子电路基础,通过学习继电器,进而学习其他电子元器件,这样,以后碰到其他的测试可以在脑中就构造出方案。
  机器识图:这个是后话了,实验成功后,我们为了达到完全自动化的目的,还需要对机器识图进行研究,对开机后的画面进行学习比对,以判断单次开机的成功,此部分已小有成果,以后再分享给读者。
  遇到的问题
  该方案从构想到实施到稳定,遇到过形形色色的问题,收录在此,避免大家走弯路。
  1.PyCharm(Python的集成开发IDE)提示no module named serial
  File-->Settings-->Project:xxx-->project Interpreter--> 点击右侧的"+"-->输入serial-->选择对应可安装的serial-->Install Package-->等待一会安装成功,也可以在命令提示符下通过pip install serial来安装。
  2.PyCharm(Python的集成开发IDE)找不到解释器
  先打开File–>Setting–>Project,这时候看到选中栏显示的是No interpreter,在哪里找这个文件呢?不妨打开磁盘,直接搜索python.exe文件。
  3.Python运行程序发送1或0,Ardunino没反应
  开始笔者在PyCharm中写的代码是result=Ser.write(‘1’.encode()),怎么调试也不成功,也没有相应的报错信息。
  后来写成result=Ser.write(‘x1’.encode())就可以了,究其原因还是字符编码的问题以及Ardunino的程序中接收的数据类型要与该处匹配。
  4.Ardunino被烧毁是在最开始运行期间因为Ardunino开发板的输入输出口接插件未做绝缘处理,抑或是因为电线铜丝外露发生短路,烧毁过一个Ardunino开发板,大家在实施该方案时千万要注意绝缘这个问题,以免造成损失。 **文末福利——推荐一个《Python自动化测试学习交流群》给大家:
  请关注+私信回复:"头条" 就可以免费拿到软件测试学习资料,同时进入群学习交流~~

永劫无间公测啦!畅玩装机交给ROG机电散,暑假放肆嗨哈喽各位亲耐滴小可爱们盼星星盼月亮永劫无间终于公测啦全新的妖刀姬角色也太厉害了吧小R我已经连续肝了好几天了呢恰逢一年一度的暑假这不正是组装一台高性能主机欢乐一夏的好时机嘛!什么?你我国开始治理!槟榔应该何去何从?到底是怎么回事?就在前不久,我国传来了一个重大的消息,槟榔这次终于被制裁了,究竟是怎么回事?一个让中国人民深爱的食物为何会被中国政府命令禁止?这背后究竟隐藏着什么不为人知的事情?接下来就由小编我来阿云嘎同款华硕灵耀14s匠心打造国潮新典范作为华硕灵耀非遗中国色的推广大使,阿云嘎一直以来都在持续关注着非遗夏布和非遗中国色项目,并携华硕灵耀14s向世人重现极具魅力的传统文化。随着阿云嘎的脚步,两大非遗文化重回大众视野,比亚迪大涨6股价创历史新高10月25日早盘,比亚迪放量大涨。截至发稿报317。99元,涨6,盘中最高至318。65元。年内涨幅63,股价创出历史新高。比亚迪公布的9月产销数据显示,公司9月总销量为80,11比亚迪高调做LP,40天内接连出手,砸下23亿比亚迪加紧了VCPE的布局,近两个月来,更是接连多次出手。10月22日,比亚迪公告称,拟认缴出资人民币1亿元投资粤港澳大湾区科技创新产业投资基金。该基金专注于粤港澳大湾区科技创新关这还不起飞?细聊比亚迪宋PLUSDMiAWD过去半年的时间里,比亚迪通过DMi平台所取得的成功是有目共睹的,提车需等三个多月就是最好的证明。不过DMi毕竟是一个主打节能的平台,它对于性能的侧重点会少一点。因此,对于部分追求性使用最新版微软Edge浏览器检查你的密码是否被泄露自从微软Edge浏览器采用Chromium内核后,越来越受欢迎了。和谷歌Chrome同根同源。但微软又进行了发扬光大。比如账户同步功能。由于众所周知的原因,Chrome不能在大陆使深度探索盈利的密码!那些全球TOP5的交易员都做了这9件事RaynerTeo是独立交易员,曾经是一名自营交易员。他交易历史接近12年时间了。如今他自己的交易博客相当受欢迎。他主要跟随趋势进行交易。他认为,除了交易技巧和策略之外,交易者能否人类祖先可能会有一个新物种HomoBodoensis人类进化的编年史已经被证明是一项繁重而复杂的任务,导致各种矛盾和不一致。为了更好地理解这一人类学混乱,一群科学家提出了一个新的人类祖先物种,该物种需要对某些化石进行重新分配。上图H印度挖出一名重要间谍身份曝光让新德里后怕,全然再无秘密可言一直以来,印度对自己就有着非同寻常的自信心,认为自己是当之无愧的军事强国。如今,在疫情危机肆虐的大背景下,印度仍从别国购进了大批先进武器装备,并时常会主动挑起边境冲突,在国际舞台上纯电续航100km,比亚迪宋PLUSDMiAWD据悉,新车将于10月陆续到店,12月31日前购车,更尊享超混PLUS领航礼遇。其中包括金融服务,2年免费车机流量2年免费云服务终身免费OTA升级免费智能语音在线等各项服务。由于比亚
更好用更安全的手机系统OriginOSOcean体验最近新发布的vivoS12Pro搭载了OriginOSOcean系统,这两天试过之后,我感觉它在很多交互设计以及功能方面,都有着非常出色的表现,用过一段时间之后,确实可以大大提升日小米推出全新MiSans字体MIUI13系统内置,全社会可免费商用IT之家12月29日消息,昨日晚间,小米推出了全新的小米12系列产品以及MIUI13等新品,同时还带来了一款全新系统字体MiSans。MIUI13便是采用了这种全新的系统字体MiS全新MIUI13系统发布,对标苹果iOS,赶超鸿蒙在大家的期待下,全新的MIUI13操作系统于昨日(12月28日)正式发布,同时还带来了新一代的小米12系列机型。本次MIUI13系统除了修复之前MIUI12中的许多Bug之外还带来价格相差1000元小米12Pro相比上代有哪些升级?小米12Pro发布后,难免会有不少用户拿来和上代小米11Pro对比。其实,新机发布自然会显得上代产品的性价比更高,尤其是现在这种技术迭代不明显的时候。不仅小米,其他手机厂商也是这样除了骁龙8,小米12毫无亮点,价格优势消失,网友营销强过产品搭载新一代骁龙8处理器的小米12,终于开始销售了。对于小米的这一款新旗舰,分为2个型号,分别是6。28英寸的普通版和6。73英寸的pro版。当然从两款机型的销量来看,明显屏幕尺寸更互联网广告增长骤停,奢侈品牌市值冲向万亿美元影棚里搭建的整洁环境,配上演员们溢出嘴角的快乐。广告在售卖商品,也在向消费者传递仿佛触手可及的美好生活中产世界。愿意付钱打广告的人没那么多了。过去一周,海外上市的中国互联网公司相继喜迎2022联想使出杀手锏价格战,最受欢迎的全能本狂降1000近日有关联想的话题确实不少,其中关注度最高的还是联想笔记本电脑价格跳水不断的话题。在拯救者系列游戏本价格才大幅度下调了不到一周的时间。当下小新Pro16轻薄本也开始大跳水。其中最受如果没有华为,中国手机在世界上会是什么水平?什么水平呢?没有华为也会有其他公司吧,只不过在技术研发上华为投入的更多,你非要说华为有什么全球技术领先,拍照续航芯片防水防尘系统价格,好像华为高端确实做的很好,没有华为全球手机市场我鄙视柳传志和薇娅为富不仁的恶行,但我不希望搞垮好企业,对吗?柳传志做恶累累,应当绳之以法,以平民愤。是的。柳传志和薇娅为富不仁的恶行,应当受到人民唾弃,应当受到法律的严惩!对企业要正本清源,依规依法经营,走正道,为国为民谋发展。你的想法很好用户期盼的携号转网,现在为什么会遇冷?携转后的一些功能性影响先不说,到底携号转网的需求有多大呢,或者说到底哪些人需要携转,他们携转的动机又是什么呢?首先说说大背景。第一个是自从取消漫游,全国通话,流量统一后,确实方便了网约车以后会真的走向正规合法吗?就像出租车一样有数量,再也不是随便就能加入的?网约车合法化是必然的,国家已经承认了网约车的合法性,并且网约车管理办法已经实施了2年多了,现在还有个别平台存在大量不合规车辆和司机,这种情况不会一直持续下去的,没有规矩不成方圆,既