Android自动脚本--实现自动滑块校验

共 1200字,需浏览 3分钟

 ·

2020-08-10 20:25

最近在做某个应用自动化操作时遇到滑块校验,本来以为获取到滑动坐标问题就完美解决,没想到应用有人机校验,看来还是经验不足。



8gjA8YrEoh.jpg



既然有校验,那只能写个算法去模拟人的滑动,开始为了偷懒节省时间,只进行简单的降速、中间随机暂停等操作。事实证明天下没有白吃的午餐,时间没节省,体力到是花费了不少。最后只能静下心来,仔细研究人工操作时滑块的轨迹。在这里记录下校验绕过算法,也希望能帮助有同样问题的可以节省点时间。



初始值



  初始横坐标:x



  初始纵坐标:y



  slong:滑动距离[此处是自左向右]



  最终x坐标:llx=x+slong



  滑动步数:2次



  计算初次滑动距离 : dl



      if(slong>200)



{



int dl = slong - 70;



if(slong>600) {



   dl = slong - 150;



}



else if(slong>400) {



   dl = slong - 100;



}



}



计算每步滑动的steps(Android): stepsm  






if(slong<=200)



{



  stepsm=getrandomnmber(80,120);






}



else if(slong>200&&slong<400)



{



  stepsm=getrandomnmber(120,170);






}



else if(slong>400&&slong<600)



{






  stepsm=getrandomnmber(170,200);



}



else



{



  stepsm=getrandomnmber(200,250);



}



注:



Android中每个steps消耗5ms。



getrandomnmber随机产生2参数之间的随机数









具体伪代码如下:



if(slong>200)



   {



   



       if(slong>200&&slong<400)



       {



           stepsm=getrandomnmber(120,170);



       }



       else if(slong>400&&slong<600)



       {



           stepsm=getrandomnmber(170,200);



       }



       else



       {



           stepsm=getrandomnmber(200,250);



       }



   



       int dl = slong - 70;



       if(slong>600) {



           dl = slong - 150;



       }



       else if(slong>400) {



           dl = slong - 100;



       }



       Point p1 = new Point();



       Point p2 = new Point();



       Point p3 = new Point();






       p1.x = x;



       p1.y = y;



       p2.x = x + dl;



       p2.y = y;



       p3.x = llx;



       p3.y = y;



       tosleep(2000);



       Point[] args = {p1, p2, p3};



       mDevice.swipe(args, yst);



       mDevice.swipe(x, y, llx, y,100);



   }



   else



   {



       tosleep(2000);



       stepsm=getrandomnmber(80,120);



       mDevice.swipe(x, y, llx, y,stepsm);






   }



浏览 101
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报