tag 标签: framework

相关博文
  • 热度 6
    2022-7-15 17:31
    1659 次阅读|
    0 个评论
    前言 汽车电子软件扮演着越来越重要的角色,为适应市场变化,车载软件和功能的开发需要快速迭代。 敏捷开发、持续测试、CI/CT/CD实现和DevOps等成了汽车电子行业的高频词,也正在帮助OEM和零部件供应商实现频繁的代码部署和实现可靠软件交付的目标。测试自动化是这些过程中不可或缺的一部分,因为可以提升测试效率以加速开发迭代,特别是对于重复性的任务或不需要任何人工干预的任务。 说到自动化测试,Robot Framework作为自动化测试领域的明星框架,已经开始摩拳擦掌,跃跃欲试。今天我们一起来看下Robot Framework在汽车电子测试中,可以发挥出多大的作用。 1 、Robot Framework简介 Robot Framework 是一个广受欢迎的自动化测试框架。所谓框架,可以理解为一组准则,遵循这些准则可以获取明显的收益。自动化测试框架就是 由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。 Robot Framework 是一个基于Python语言开发的,可扩展的,是以关键字驱动模式的自动化测试框架。它具有以下特点: (1)编辑用例简单,启用易于使用的表格语法,以统一的方式创建测试用例; (2)提供从现有关键字创建可重复使用的更高级别关键字的功能; (3)提供易于阅读的结果报告和HTML格式的日志; (4)提供一个简单的库API,用于创建自定义测试库,可以使用Python或Java本机实现; (5)支持创建数据驱动的测试用例; (6)提供标记以分类和选择要执行的测试用例; (7)可以和SVN或者GIT及Jenkins持续集成。 上文我们提到Robot Framework是以关键字驱动模式的自动化测试框架,同时支持创建数据驱动的测试用例。那么关键字驱动和数据驱动分别有什么特点呢? 关键字驱动是由关键字和数据组成测试用例执行测试,测试框架的底层负责解释关键字,完成指令,测试用例的编辑者只需要使用关键字和数据组合,即可实现复杂的测试逻辑。测试执行的代码和测试用例代码是分离的。这种方式学习成本比较高,开发关键字及其相关功能的初始投资可能需要更长的时间。 数据驱动测试是从数据文件读取输入、输出数据,通过变量传入测试脚本执行测试,数据是可变的,测试设计是重复的、高度抽象的。使用这种测试方式可以减少重复劳动,测试用例易于修改和维护。但是这种方式不擅长逻辑处理,一组脚本只能处理特定格式的数据。在一些特定的测试场景下,这种方式具有明显优势。比如汽车ECU(如网关)测试有数据转发/路由的测试场景,需要测试的数据有时多达上千个,我们只需创建一条数据转发业务的测试用例,从数据文件中读取输入、输出数据后,遍历所有数据即可完成测试。 2 、Robot Framework整体架构 Robot Framework 是一个通用的,和具体测试工具松耦合的框架,其高度模块化的架构如下图所示: 测试数据( Test Data ) 使用非常简单、易于编辑的表格格式。Robot Framework会解析测试数据, 执行测试用例 , 并生成日志和报告。框架本身对测试对象可以完全“一无所知”, 而是通过 测试库 与其交互。测试库可能是直接使用被测应用程序的接口, 也可以使用其它底层的测试工具作为驱动。 3 、Robot Framework环境安装 Robot Framework 环境的安装比较简单,只需两步即可完成: (1)安装Python配置环境变量; (2)打开dos窗口,输入指令 pip install robotframework,点击回车,安装Robot Framework。 4 、Robot Framework常用关键字 上文我们提到Robot Framework是一个关键字模式驱动的自动化测试框架,Robot Framework的测试用例由关键字和测试数据组成。关键字是用Python语言编写的函数,也即是一个个方法。它是为了完成一个功能来设计的,分为系统关键字和用户关键字。 系统关键字包含标准库里面的关键字和第三方库里面的关键字,就像C/C++的库函数或者Python的内置函数一样。 用户关键字是根据业务需求将不同的业务封装成一个关键字或者将用例执行的步骤封装成一个关键字,就像C/C++或者Python中的用户自定义函数。 下面我们介绍几个常见关键字的用途。 Convert To Integer :将给定的变量转换成一个整数。示例: Import Library :导入扩展库或者自定义库。示例: Get Variable Value :获取变量的值,赋给一个新的变量,如果变量不存在可以设置一个默认值。示例: Log :使用给定的级别记录给定的信息。示例: Set Variable :给变量设置值。示例: Should Be Equal :Robot Framework中的断言关键字,如果给定的对象不相等,就会判定失败。示例: Sleep :测试执行等待一定时间。示例: 5 、Robot Framework测试用例示例 说了这么多,大家肯定想赶紧看看Robot Framework是怎么使用的,现在我们通过一个简单的例子来说明Robot Framework是怎么执行测试的。 这条测试用例的操作步骤如下: (1)加载CANoe测试工程; (2)启动测试; (3)等待一定时间,确保CANoe启动完成; (4)设置系统变量的值; (5)等待一定时间,确保系统变量设置完成; (6)获取关联系统变量的信号值; (7)比较设置的值和读取的值是否相同; (8)终端输出提示“测试用例执行结束”。 Robot Framework 编写的测试用例如下图一所示: 图一Robot Framework测试用例示例 执行测试用例:dos窗口中输入robot 测试用例路径,点击回车即可,这里执行用例的逻辑是使用pip安装Robot Framework时,会在Python安装路径下面的Scripts文件夹生成robot.exe文件,Scripts文件夹已经添加到系统路径,因此不需要再配置robot.exe的系统路径就可以直接调用。 执行后用例后,CANoe中关联系统变量的信号值设置成功,如图二所示。 图二CANoe信号EngineState::OnOff值设置为1 用例执行完成后,生成的测试报告如图三所示。 图三测试用例执行后生成的测试报告 6 、Robot Framework与CANoe结合使用 相比于IT行业的软件测试,汽车电子需要搭建硬件测试环境,测试时需要监控和仿真很多总线信号和硬线信号,CANoe作为专业的总线网络开发和测试工具被众多整车厂和供应商的系统设计师、开发工程师和测试工程师所广泛使用。配合Vector的硬件设备,如VN通信硬件接口卡及VT IO板卡,以及图形化自动化测试工程开发软件vTESTstudio,可以胜任汽车电子研发测试的各项任务。Robot Framework和CANoe结合使用,既带来了Robot Framework可以自动部署测试软件、自动截取日志、可以生成易于阅读的测试报告和可以灵活的选取测试用例的优点,也保留了Vector工具在多总线支持、网络监测和分析、系统仿真等方面的优势,各取所长。 CANoe 是留有COM Interface的,这样我们可以通过第三方的程序调用CANoe开放的API。调用交互的部分DEMO代码如下图四所示: 图四Python编程调用CANoe代码 Robot Framework 和CANoe结合使用一般有两个思路: 第一种情况是把测试用例的过程主体在Robot Framework环境中编写脚本实现并执行,在执行过程中调用CANoe提供测试数据、参数、变量的读取和设定,这个思路适合对时间要求不敏感的测试用例。如下图五所示用例,CanoeHandle为自定义的关键字库,创建了加载CANoe工程、启动测试、停止测试、获取信号值、设置系统变量值、获取系统变量值等关键字,可以使用这些关键字组合创建Robot Framework测试用例,执行测试。 图五基于Robot Framework编写CANoe测试用例 第二种情况是测试用例整体在Vector工具链中开发测试工程和脚本(比如基于vTESTstudio开发图形化测试工程或是CANoe-CAPL编写测试脚本),并在CANoe中执行工程和脚本。此时,如图六所示,Robot Framework作为一个测试用例管理框架来使用,CanoeHandle为自定义的关键字库,创建了加载CANoe工程、加载测试脚本、执行测试脚本等关键字,可以使用Robot Framework进行测试管理,根据实际需求删选测试用例、自动控制测试开始、停止等。结合Jenkins打造通用的自动化持续集成测试平台,可以显著提升测试效率。 图六基于Robot Framework管理CANoe测试工程 结束语 IT 领域的开发理念和以太网等具体通信技术经过优化改造后在汽车上的应用,为软件定义汽车的实现提供了诸多方法论和技术手段上的支撑和支持。同样,发源于IT行业的测试技术也越来越多地被应用到汽车电子的测试中,在过去一年的项目中,北汇已经将RobotFramework与CANoe等汽车行业的主流工具进行了结合应用,积累了一些实践经验,期待与大家深入交流和探讨。下期我们将带来Robot Framework结合Jenkins的测试实践应用的主题,敬请关注。
  • 热度 24
    2013-11-27 11:28
    1620 次阅读|
    1 个评论
      许多应用程序,如VC2008、AutoCAD2008等安装时如果检测到系统中的.NET Framework版本低,就要重新安装高版本的,例如VC2008第一步就要安装.NET Framework3.5,如果安装.NET Framework失败,VC2008也无法继续安装下去。 有时,安装.NET Framework3.5时会出现:“ Microsoft .NET Framework 4.0 安装时发生严重错误 ”导致安装失败,即使先卸载低版本的.NET Framework,甚至使用Microsoft的NET Framework自动清理工具cleanup_tool.exe完全清理干净也不行。出现这种情况 一般是使用Ghost盘安装Windows XP时将IE进行**安装,导致用户权限不够引起的。 解决办法是修改用户权限后再安装,下面以XP系统安装.NET Framework4.0为例: 第一步: 1.开始—运行—执行cmd—在DOS窗口中执行net stop wuauserv,停止该服务(Windows系统自动更新的服务),以便操作Windows系统目录下的SoftwareDistribution文件夹。 2.打开Windows XP系统安装目录,一般为C:\Windows。 3.在打开的窗口中找到文件夹SoftwareDistribution,把它重命名为SDold,做个备份。 4.开始—运行—执行cmd—在DOS窗口中输入net start wuauserv,重新启动该服务,会重建一个空的SoftwareDistribution文件夹。 第二步: 1.开始—运行—执行regedit,打开注册表编辑器 2.找到注册表HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Internet Explorer下的MAIN子键,点击main后,在菜单中点击“编辑”–“权限”,点击后再用户权限窗口中就会出现“允许完全控制”等,勾上即可。 第三步: 从Microsoft网站上(http://www.microsoft.com/zh-cn/download/details.aspx?id=17718)下载、安装 .NET Framework4.0(文件名:dotNetFx40_Full_x86_x64.exe), 参考文章及清理工具下载:http://support.microsoft.com/kb/2497934/zh-cn)。  
  • 热度 20
    2013-11-26 22:18
    5953 次阅读|
    1 个评论
      许多应用程序,如VC2008、AutoCAD2008等安装时如果检测到系统中的.NET Framework版本低,就要重新安装高版本的,例如VC2008第一步就要安装.NET Framework3.5,如果安装.NET Framework失败,VC2008也无法继续安装下去。 有时,安装.NET Framework3.5时会出现:“ Microsoft .NET Framework 4.0 安装时发生严重错误 ”导致安装失败,即使先卸载低版本的.NET Framework,甚至使用Microsoft的NET Framework自动清理工具cleanup_tool.exe完全清理干净也不行。出现这种情况 一般是使用Ghost盘安装Windows XP时将IE进行**安装,导致用户权限不够引起的。 解决办法是修改用户权限后再安装,下面以XP系统安装.NET Framework4.0为例: 第一步: 1.开始—运行—执行cmd—在DOS窗口中执行net stop wuauserv,停止该服务(Windows系统自动更新的服务),以便操作Windows系统目录下的SoftwareDistribution文件夹。 2.打开Windows XP系统安装目录,一般为C:\Windows。 3.在打开的窗口中找到文件夹SoftwareDistribution,把它重命名为SDold,做个备份。 4.开始—运行—执行cmd—在DOS窗口中输入net start wuauserv,重新启动该服务,会重建一个空的SoftwareDistribution文件夹。 第二步: 1.开始—运行—执行regedit,打开注册表编辑器 2.找到注册表HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Internet Explorer下的MAIN子键,点击main后,在菜单中点击“编辑”–“权限”,点击后再用户权限窗口中就会出现“允许完全控制”等,勾上即可。 第三步: 从Microsoft网站上(http://www.microsoft.com/zh-cn/download/details.aspx?id=17718)下载、安装 .NET Framework4.0(文件名:dotNetFx40_Full_x86_x64.exe), 参考文章及清理工具下载:http://support.microsoft.com/kb/2497934/zh-cn)。
  • 热度 21
    2012-3-19 16:25
    1545 次阅读|
    0 个评论
    现在的技术真是日新月异,.net能够在普通的微处理器上跑了,感觉挺神气的呢. 下面从基本测试环境搭起. 1. 下载VS2010并安装 2.下载Microsoft NETMF SDK 17.9Mb,不是porting kit,porting kit是源码包,很大,现在暂时不需要. http://www.microsoft.com/downloads/details.aspx?familyid=CFF5A7B7-C21C-4127-AC65-5516384DA3A0displaylang=en 3. 安装好之后,下面展示第一个例程. 打开 VS2010,新建工程发现多了一项. 出现了Micro Framework 工程模板. 选择这个模板命名MFConsole工程 program.cs 写入代码Debug.Print("haha, NETMF is so amazing!");   5.在工程设置中,设置成终端模拟. 然后单步运行,打开输出窗口 ,显示 haha, NETMF is so amazing! 附件中是多线程的例子. . .输出结果类似   接下来会画一块Netduino Mini的板子,在硬件上小试一下,敬请期待. . .
相关资源
  • 所需E币: 1
    时间: 2023-9-26 10:09
    大小: 3.2MB
    上传者: 一蓑烟雨as
    AGeneralFrameworkforLifelongLocalizationandmapping.pdf
  • 所需E币: 0
    时间: 2023-9-20 16:11
    大小: 1.29KB
    上传者: 蝴蝶结欧恩
    给大家分享一套课程——Vue+DjangoRESTframework打造生鲜电商项目,附源码下载。Django项目源自一个在线新闻Web站点,于2005年以开源的形式被释放出来。Django框架的核心组件有:用于创建模型的对象关系映射;为最终用户设计较好的管理界面;URL设计;设计者友好的模板语言;缓存系统。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。微商等社交电商社交电商将成为未来零售的重要通道,社交电商所带来的巨大流量也将转变为电商的销量,人们在获取信息的同时还可以更好的享受购物带来的乐趣,社交电商将成为未来电商发展的新方向。网站开发,网页设计,网络营,微商,开淘宝或者京东网店,还有就是做代购,这些都是电子商务方面的创业项目。随着国内互联网使用人数的增加,利用互联网进行网络购物并以银行卡付款的消费方式已渐趋流行,市场份额也在迅速增长,各种类型的电商网站也将层出不穷。注:找项目,找渠道,找异业合作建议上BD邦平台看看,有很多甲方项目能给予启发,还有行业社群
  • 所需E币: 0
    时间: 2022-9-1 19:23
    大小: 8.32MB
    Apredictivecontrolframeworkfor3-phaseinductionmotorsmodeledinnaturalvariables
  • 所需E币: 0
    时间: 2022-3-10 21:07
    大小: 303.33KB
    上传者: samewell
    FrameworkandModelingofaMulti-robotSimulatorforHospitalLogistics.pdf
  • 所需E币: 1
    时间: 2022-3-1 15:59
    大小: 52.29MB
    上传者: 西风瘦马
    3208113_RobotFramework自动化测试框架核心指南.pdf
  • 所需E币: 0
    时间: 2021-4-8 21:07
    大小: 28.08MB
    上传者: bwj312
    MicrosoftNETFramework2(初次安装XCPPro时,先安装此程序).rar
  • 所需E币: 5
    时间: 2019-12-25 12:48
    大小: 668.31KB
    上传者: 238112554_qq
    Opna:手机应用软件开发平台DESIGNSTRATEGIESANDMETHODOLOGIESOpna:手机应用软件开发平台作者:手机平台软件是大势所趋因此,有越来越多的业内人士认为,田雨苗手机平台软件对于产品多样化和新技术的眼下的手机市场,总是给人一产品经理支持,极大地满足了手机厂商对于产品快种“乱花渐欲迷人眼”的感觉。音乐手北京博动科技有限公司机、商务手机、游戏手机,各种功能层出速上市的需求,它在手机产业链中的异军不穷。手机的风格更是让人目不暇接,有突起实是大势所趋。关键词:时尚的、简约的、奢华的等等。而手机厂手机软件平台客户化商要应对当前手机市场林林总总的变化,PollexOpna1.8就是在这样一种行……
  • 所需E币: 4
    时间: 2020-1-10 10:08
    大小: 546.68KB
    上传者: 二不过三
    MMI_framework_and_architectureManMachineInterfaceAgendaMTKSoftwareArchitectureMTKMMIArchitectureExampletoWriteanApplicationThirdPartySoftwareToolQ&A2MTKSoftwareArchitectureMTKSoftwareArchitectureSoftwareArchitectureKALandOSLDateTypeTaskManagement4SoftwareArchitecture5SoftwareArchitecture……
  • 所需E币: 5
    时间: 2020-1-15 16:52
    大小: 137.45KB
    上传者: 978461154_qq
    AudioFrameworkInputstreamframeworkofWindowsCE5.0audiodriver.OutputstreamframeworkofWindowsCE5.0audiodriver.Thedriverprocess:ClassdiagramInputDeviceContextHardwareContextDeviceContextOutputDeviceContextInputStreamContextWaveStreamContextOutputStreamContextStreamContextOutputStreamContextM8OutputStreamContextM16OutputStreamContextS8OutputStreamContextS16CMidiStreamCMidiNote……