|
最近在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();
}
} |
|