51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3015|回复: 3
打印 上一主题 下一主题

[原创] linux下 嵌入式系统的模拟手工测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-5-13 18:31:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在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();
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    1 小时前
  • 签到天数: 938 天

    连续签到: 5 天

    [LV.10]测试总司令

    2#
    发表于 2014-5-14 09:57:45 | 只看该作者
    不错分分享,支持下~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2017-6-13 13:33:33 | 只看该作者
    lsekfe 发表于 2014-5-14 09:57
    不错分分享,支持下~

    有.c文件吗?是否可以共享?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    1 小时前
  • 签到天数: 938 天

    连续签到: 5 天

    [LV.10]测试总司令

    4#
    发表于 2017-6-13 13:36:57 | 只看该作者
    fengyx_yu 发表于 2017-6-13 13:33
    有.c文件吗?是否可以共享?

    能分享的内容我都会放在新手版块的总和分享贴里面了。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-26 10:34 , Processed in 0.081693 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表