一个自动测试程序的编写

本文介绍了如何编写一个自动测试程序,该程序在设备启动时自动读取指令文件,模拟按键操作,实现MP3的全自动化测试。通过设置定时器、文件读取和按键消息发送等功能,减少了手动测试的需求,提高了测试效率。程序分为按键消息发送、文件读写和定时器创建三个主要阶段,并详细讨论了在实现过程中遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

初来乍到Foxda,刚刚熟悉了下SigmaTel的SDK,BOSS就布置任务要做一个MP3的自动测试程序。意思就是编写一个程序在开机的时候自动读取一个文件,其中这个文件当中列出了按键步骤与间隔时间(完全由你自己定义),当程序读到的时候,就自动发出一个按键消息,除了开机,无需人手,全自动依照你文件中的步骤执行。对比起以往的手工测试,这样一来省了人力和时间,二来能够在人所不能接触的极端环境下对MP3进行测试。

 

进一步与BOSS和师兄沟通过之后,有了大概的思路:在MP3启动的过程中,建立一个定时器,由这个定时器定时读取某个文件的内容,而根据BOSS的指示,文件的格式大概是一行定义按键,一行定义间隔时间,然后发出相应的按键消息。

 

现在看来似乎并不困难,于是乎便开始动手。主要分三个阶段进行:

 

首先便是寻找按键消息的发送的方法,还好,由于师兄之前做过相关的工作,所以经他的指点很快就可以实现了。在sigmaTel的SDK里使用的是以下两句

BUILD_NONALLOCATED_MSG(&msg, OS_MSG_UI_GROUP, MSG_UI_BTN_EVENT, BTN_EVENT_IS(BTN_FF,EVENT_CLICK)); //意思是建立“FF(快进)键单击一次”的消息
tx_queue_send(g_ptx_queue_ui,&msg, 10);

所以这个问题很快就解决了。相信在其它相关的做MP3、手机的SDK里面都会有发送按键消息的函数,例如我现在在做的DV,就是在接收到按键消息之后,发送一个handler,所以在做自动测试的时候,只需要发送handler就可以达到与案件相同的效果了。也因此,我相信各种便携式产品都可以做出自动测试的程序,这样就可以减少测试人员的工作量,提高效率,在相对短的时间内发现更多问题。

 

接下来要做的是文件读写的操作。由于以前只编过一次有关文件读写的程序,所以在这里花费了很多的时间。主要是因为这里只能应用SDK自带的文件处理函数(原型定义有些奇怪),不能够直接调用C语言里的文件处理函数,尽管在我查看了SDK里文件处理函数的定义后发现最终它都是要调用C语言中的文件处理函数。不过不管怎样,终归也是自己C语言不过关,特此潜心研究C语言文件处理函数,专门开贴写给大家看。这里就不详述。

 

最后要做的就是加上定时器。虽然知道有定时器这么一回事,但是从来都没有用过,也遇到了一些困难。建立一个timer要5个参数,直到现在我都没有弄明白其中两个参数的意义,只好照葫芦画瓢,用上了。

tx_timer_create(&testtimer,"test1",moveup,0x1234,OS_MSECS_TO_TICKS(1000),OS_MSECS_TO_TICKS(1000), TX_AU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值