51Testing软件测试论坛

标题: linux下 嵌入式系统的模拟手工测试 [打印本页]

作者: zhifei.xie    时间: 2014-5-13 18:31
标题: linux下 嵌入式系统的模拟手工测试
最近在LINUX平台上测试一个嵌入式系统。
   由于多次需要输入一些数据,操作非常频繁与枯燥;因此想到了一个模拟手工测试的好办法!
   现在分享给大家。
现在直接给大伙贴代码吧!如有疑问评论留言!

  此代码可以根据自己的需求进行一些页面的检查,控件的检查,功能的检查!
根据自己的需求修改相应的代码。

#include <stdio.h>

void input(int key_num)
{
        /* open keyboard */
        int fd_kb = open ("/dev/input/event0", O_RDWR);
        struct input_event event;
        event.code = key_num;
        event.type = EV_KEY;
        event.value = 1;                                 //1表示按下,0表示释放,2表示长按
        gettimeofday (&event.time, 0);
//        printf("1\n");
        if (write (fd_kb, &event, sizeof (event)) != sizeof (event))
        {
                printf ("write /dev/input/event0 failed/n");
        }
//        printf("2\n");
        event.value = 0;
        if (write (fd_kb, &event, sizeof (event)) != sizeof (event))
        {
                printf ("write /dev/input/event0 failed/n");
        }
//        printf("3\n");
        usleep(20);
        close(fd_kb);
        usleep(1000*500);

}
void input_dat(char*dat)
{
        int i=0;
        while(dat[i]!='\0')
        {
                if(dat[i]=='.')
                {
                        input(KEY_DOT);
//                        printf("input[%d] %d \n",i,KEY_DOT);
                       
                }
                else if(dat[i]=='0')
                {
                        input(KEY_0);
//                        printf("input[%d] %d \n",i,KEY_0);
                }
                else if(dat[i]>='1'&&dat[i]<='9')
                {
                        input(dat[i]-47);
                       
//                        printf("input[%d] %d \n",i,dat[i]-29);
                }
                else
                {
                        printf("parameter error %d\n",dat[i]);
                       
                }
                i++;
                usleep(10);
        }
        input(KEY_ENTER);
        input(KEY_RIGHT);
        sleep(1);
}
#define INS(xxx) input_dat(#xxx);

   

/*模式切换*/
void qiehuan_mode(void)
{
        input(KEY_Q);
        sleep(2);
        input(KEY_R);
        sleep(2);
        input(KEY_S);
        sleep(2);
        input(KEY_T);       
        return;
}

void user_right_check(void)
{  

  //input(KEY_DOWN);
  //input(KEY_RIGHT);
  // input(KEY_RIGHT);
  //input(KEY_ENTER);
  //INS(762668)/*输入超级用户名与密码 */
  //input(KEY_TAB);/*返回系统主页面 */
  //input(KEY_UP);
  //input(KEY_LEFT);
  //input(KEY_LEFT);/*顶位到机器监控页面 */

/**/

  
/*jiqijiankong*/
    input(KEY_ENTER);
        input(KEY_F2);
        input(KEY_F1);
        input(KEY_F3);
        input(KEY_F1);
        input(KEY_F4);
        input(KEY_F1);
        input(KEY_F5);
        input(KEY_F1);
        input(KEY_F6);
        input(KEY_F1);       
       
        input(KEY_TAB);
        input(KEY_RIGHT);
        input(KEY_ENTER);


       
   /*dongmozhuagnzhi动模装置  全部一级权限*/
    input(KEY_F2)/*动模配置        */
    input(KEY_F3)/*调模润滑2级权限*/
    INS(222222)
    input(KEY_F3);/*射出时间*/
    input(KEY_F4);/*动模时间2级权限*/
    INS(222222)
    input(KEY_F5);/*脱模设定*/
    input(KEY_F5);/*中子设定*/
    input(KEY_F4);
    /*        */
        input(KEY_TAB);
        input(KEY_ENTER);
        input(KEY_F4);/*开模曲线*/
        input(KEY_F2);/*动模设定 */
        input(KEY_F6);/*中子设定12 */
    input(KEY_F2);/*中子设定34 */
        input(KEY_F3);/*中子配置 */
        input(KEY_F4);/* 中子时间*/
        INS(222222)
        input(KEY_TAB);
        input(KEY_RIGHT);
        input(KEY_ENTER);/*退出返回主界面 */
       
        /* */

        /*shechu_zhangzhi射出设置,进入默认射出设定*/
    input(KEY_F2);/*射出配置*/
    input(KEY_F2);/*射出设定*/
     
    input(KEY_F3);/*射出时间*/
    INS(222222)
    input(KEY_F2);/*射出设定*/
    input(KEY_F4);/*射出曲线*/
    input(KEY_F2);/*射出设定*/
    input(KEY_F5);/*熔胶松退*/
    input(KEY_F5);/*射出设定*/
    input(KEY_F6);/*座台设定*/
    input(KEY_TAB);
    input(KEY_ENTER);
    input(KEY_F3);/*射出阀 */
    INS(222222)
    input(KEY_F3);/*射出阀成功 */
    INS(333333)
        input(KEY_TAB);
        input(KEY_RIGHT);
        input(KEY_ENTER);
       
  
    //xinhao_jiaozhun 信号校准
    input(KEY_Q);/*切换到点动模式        */
   
    INS(222222)/*检查进入        */
    input(KEY_ENTER);
    INS(333333) /*进入信号校准*/
   
    input(KEY_F2);
    INS(222222)
   
/* */

//IO控制  数字输入设定1为2级权限
   INS(222222)
   
   input(KEY_F2); /*DI设置1 */
   INS(222222)
   input(KEY_F3); /*DI设置2 */
   INS(222222)
   input(KEY_F4); /*DO设置1 */
   INS(222222)
   input(KEY_F5); /*DO设置2 */
   INS(222222)
   input(KEY_F6); /*3级权限 */
   INS(222222)
   input(KEY_F6);
   INS(333333)
   input(KEY_TAB);
   input(KEY_RIGHT);
   input(KEY_ENTER);
   /* */

//shice_quxian /*实测曲线 */
    input(KEY_F2);
    INS(222222)
    input(KEY_F2);
    INS(333333)  
    input(KEY_TAB);
        input(KEY_RIGHT);
        input(KEY_ENTER);

//bihuan_kongzhi 闭环控制-2级权限进入
   INS(222222)
   input(KEY_F2);/*温度参数1 */
   INS(222222)
   input(KEY_F2);/*闭环控制 */
   INS(222222)
   input(KEY_F3);/*射速参数失败 */
   INS(222222)
   input(KEY_F3);/*射速参数 */
   INS(333333)
   input(KEY_F4);/*保压参数失败 */
   INS(222222)
   input(KEY_F4);/*保压参数 */
   INS(333333)
   input(KEY_F5);/*开模曲线 */
   input(KEY_TAB);
   input(KEY_ENTER);
   input(KEY_F6);/*背压曲线 */
   INS(333333)
   input(KEY_TAB);
   input(KEY_RIGHT);
   input(KEY_ENTER);


/*yingjian_sheding 硬件设定 特殊*/
   INS(222222)
   input(KEY_ENTER);
   INS(333333)
   input(KEY_ENTER);
   INS(444444)
   input(KEY_ENTER);

   input(KEY_F2);
   INS(333333)
   input(KEY_F2);
   INS(444444)
    input(KEY_F3);
   INS(333333)
   input(KEY_F3);
   INS(444444)
   input(KEY_F5);
   INS(333333)
   input(KEY_F5);
   INS(444444)
   input(KEY_TAB);
   input(KEY_TAB);
   input(KEY_TAB);
   input(KEY_ENTER);
   INS(444444)
   input(KEY_F6);
   INS(333333)
   input(KEY_F6);
   INS(444444)
   input(KEY_TAB);
   input(KEY_RIGHT);
   input(KEY_ENTER);

/*bihuan_sheji 闭环设计 */
   INS(222222)
   input(KEY_ENTER);
   INS(333333)
   input(KEY_ENTER);
   input(KEY_F2);
   INS(222222)
   input(KEY_F2);
   INS(333333)
   input(KEY_F2);/*保压控制检查 */
   INS(222222)
   input(KEY_F2);/*保压控制切换成功 */
   INS(333333)
   input(KEY_F3);
   INS(222222)
   input(KEY_F3);
   INS(333333)
   input(KEY_F5);
   input(KEY_TAB);
   input(KEY_ENTER);/*重新进入闭环设计 */
   INS(333333)
   input(KEY_F6);
   input(KEY_TAB);
   input(KEY_RIGHT);
   input(KEY_ENTER);
   
   
//pingzhi_guanli  品质管理
    input(KEY_F2);
    input(KEY_F2);
    input(KEY_F1);   
        input(KEY_TAB);
        input(KEY_RIGHT);
        input(KEY_ENTER);

//MPSC监测
input(KEY_F2);
input(KEY_F3);
input(KEY_F4);
input(KEY_F5);
input(KEY_F6);
INS(222222)
input(KEY_TAB);
input(KEY_RIGHT);       

/* */
       



}

int main()
{
        sleep(5);
        printf("start input\n");

    while(1)
    {
    user_right_check();
    }
}
作者: lsekfe    时间: 2014-5-14 09:57
不错分分享,支持下~
作者: fengyx_yu    时间: 2017-6-13 13:33
lsekfe 发表于 2014-5-14 09:57
不错分分享,支持下~

有.c文件吗?是否可以共享?
作者: lsekfe    时间: 2017-6-13 13:36
fengyx_yu 发表于 2017-6-13 13:33
有.c文件吗?是否可以共享?

能分享的内容我都会放在新手版块的总和分享贴里面了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2