从微信跳一跳游戏谈软件测试

最近微信更新了6.6.1版本,新增了微信小游戏,一款跳一跳的小游戏火了起来,一时间大家都在玩,我也玩咯下,不过手残的缘故一直都是两位数。但是今天我在逛github的时候发现了一个开源项目wechat_jump_game,好家伙都快4千的star咯,看咯下简介,咦这不正是我想要的嘛,蛤蛤,装B的时候到咯~

今天中午跳的,为了不太夸张,只跳了540,但是也可以把微信第二名好友远远甩在后面咯。话不多说上图:

蛤蛤,是不是很厉害。原理的话其实作者已经讲得很清楚咯,那我说一下我的一个操作步骤吧。首先因为作者是用py写的,py其实也是比较适合写脚本类的东西啦,比如自动化测试的实现就完全可以用py来写。首先需要python的运行环境,配置好变量,然后就需要Android debug bridge,简称adb的东西,就是安卓调试桥,有了这个东西我们才可以通过模拟操作手机的动作来实现我们操作手机的操作,比如按压触碰等。好咯有了这两个东西后就可以操作咯,把源码拉下来,重要的是py脚本和config配置文件两个东西,其他的都还好。运行的载体的话主要是真机和模拟器,由于我没有安卓真机我就下载的模拟器来操作。安卓模拟器的话BlueStacks蓝叠还不错,夜神我测试咯下装6.6.1会闪退,其他的就不知道咯。

最近微信更新了6.6.1版本,新增了微信小游戏,一款跳一跳的小游戏火了起来,一时间大家都在玩,我也玩咯下,不过手残的缘故一直都是两位数。但是今天我在逛github的时候发现了一个开源项目wechat_jump_game,好家伙都快4千的star咯,看咯下简介,咦这不正是我想要的嘛,蛤蛤,装B的时候到咯~

今天中午跳的,为了不太夸张,只跳了540,但是也可以把微信第二名好友远远甩在后面咯。话不多说上图:

 

蛤蛤,是不是很厉害。原理的话其实作者已经讲得很清楚咯,那我说一下我的一个操作步骤吧。首先因为作者是用py写的,py其实也是比较适合写脚本类的东西啦,比如自动化测试的实现就完全可以用py来写。首先需要python的运行环境,配置好变量,然后就需要Android debug bridge,简称adb的东西,就是安卓调试桥,有了这个东西我们才可以通过模拟操作手机的动作来实现我们操作手机的操作,比如按压触碰等。好咯有了这两个东西后就可以操作咯,把源码拉下来,重要的是py脚本和config配置文件两个东西,其他的都还好。运行的载体的话主要是真机和模拟器,由于我没有安卓真机我就下载的模拟器来操作。安卓模拟器的话BlueStacks蓝叠还不错,夜神我测试咯下装6.6.1会闪退,其他的就不知道咯。

好啦,具体配置作者也有说哈,我来说下我理解的原理。首先脚本分为半手动和全自动,半手动需要人辅助操作,大概的原理是运行的时候每操作一次会截图,然后把图横放在xy坐标轴上,这时候通过点击现在棋子所在的位置和即将要跳去的位置,在坐标轴里算出这两点的距离,然后按压屏幕的时间和跳远的具体有一个比例,根据这个比例就可以算出所需要的距离需要按压多久,这时adb模拟所需要的按压时长进行按压操作实现跳跃,当然可能会有些偏差,但是也差不了多少,主要是可能不是在正圆心。

 

这里所使用的脚本操作怎么和软件测试联系起来呢?其实已经很明了了,这样的操作是模拟人动作的操作,属于“外挂”,这里的外挂不是我们平时说的那种外挂。其实外挂分为两种,一种是内挂,一种是外挂;我们常说的“外挂”其实是内挂,内挂是改变了程序内部结构而进行的一种程序,通常表现为修改内存,修改配置文件参数,修改访问权限等来达到作弊的目的,比如我们常见的透视类外挂。对于这种映射到我们测试里面来的话就是通过接口来访问程序,跳过界面向后端进行请求数据。而这种外挂是通过模拟人操作来达到目的,并没有改变程序内部结构,属于正常程序,换句话说就是机器人来玩这个跳一跳游戏。

所以最关键的便是这个adb的应用,这样可以配合着脚本模拟我们平时的测试工作,比如软件的安装与卸载,或者说是程序的链接点击查看操作,结合着接口,进行更为接近真实情况的测试。这样不只是玩游戏可以解放双手,测试同样也可以解放双手了,执行已经写好的脚本,只需要坐在电脑面前查看它的运行过程啦,岂不美滋滋。

最后鸣谢github的作者,在下面贴下他的项目地址,有兴趣的同学可以去围观学习哦~

项目地址:https://github.com/wangshub/wechat_jump_game

 

以上

Bobby

2018.1.2

好啦,具体配置作者也有说哈,我来说下我理解的原理。首先脚本分为半手动和全自动,半手动需要人辅助操作,大概的原理是运行的时候每操作一次会截图,然后把图横放在xy坐标轴上,这时候通过点击现在棋子所在的位置和即将要跳去的位置,在坐标轴里算出这两点的距离,然后按压屏幕的时间和跳远的具体有一个比例,根据这个比例就可以算出所需要的距离需要按压多久,这时adb模拟所需要的按压时长进行按压操作实现跳跃,当然可能会有些偏差,但是也差不了多少,主要是可能不是在正圆心。

 

这里所使用的脚本操作怎么和软件测试联系起来呢?其实已经很明了了,这样的操作是模拟人动作的操作,属于“外挂”,这里的外挂不是我们平时说的那种外挂。其实外挂分为两种,一种是内挂,一种是外挂;我们常说的“外挂”其实是内挂,内挂是改变了程序内部结构而进行的一种程序,通常表现为修改内存,修改配置文件参数,修改访问权限等来达到作弊的目的,比如我们常见的透视类外挂。对于这种映射到我们测试里面来的话就是通过接口来访问程序,跳过界面向后端进行请求数据。而这种外挂是通过模拟人操作来达到目的,并没有改变程序内部结构,属于正常程序,换句话说就是机器人来玩这个跳一跳游戏。

所以最关键的便是这个adb的应用,这样可以配合着脚本模拟我们平时的测试工作,比如软件的安装与卸载,或者说是程序的链接点击查看操作,结合着接口,进行更为接近真实情况的测试。这样不只是玩游戏可以解放双手,测试同样也可以解放双手了,执行已经写好的脚本,只需要坐在电脑面前查看它的运行过程啦,岂不美滋滋。

最后鸣谢github的作者,在下面贴下他的项目地址,有兴趣的同学可以去围观学习哦~

项目地址:https://github.com/wangshub/wechat_jump_game

 

以上

Bobby

2018.1.2

未来机器人的未来

“后皇嘉树 菊徕服兮”

结束了比赛,坐着动车回成都。回想咯一下这几天的经历,感慨万千。倒不是说这次比赛有多美妙,而是比赛的机器让我收获颇大。

至从柯洁败给AlphaGo以来,我就一直在思考,未来的社会活动会是怎样。现在我们通过自己的思考去比赛,但是这样思考的工作,也可以被人工智能所代替咯,我们绞尽脑汁,按照经验和技巧找出来的问题,在AI眼中不过只是一个小小的流程罢了。与人工智能抗衡,已经没有了胜算,毕竟它的深度学习和大量数据已经足以解决这些小小的问题。

我们并不能和机器抗衡咯,毕竟我们没有动车日行千里的速度。

但是庆幸的是,我们仍然是胜利者,我们有成功的喜悦和失利的落魄,我们会为了时间即将到来之时而感到紧张,那些曾经感慨过烦劳过的日子,就是最好的证明。

毕竟我们是有诗意的,我们是社会属性的,在我们和机器对话的过程中,其实是在和人类自己对话,我们知道裁判想要什么样的结果,想要什么样的喜悦,而不是只是能够完美的完成任务。

“等你等到西山落,等你等到月儿破。”最近看完薛平贵与王宝钏的故事,为了王宝钏的痴情所感动,为了夫君独守寒窑18年,我在想要是那个时候有智慧型手机的话,也不会有这样的苦苦等待,但是此番深情未尝被辜负。

和机器的对话,也是和人的对话,也是和自己的对话。愿你敲出的每一个文字,能够通过有线无线的网络,连接传达着你的思念。

Bobby
2017.6.7

无限近似于透明的蓝

春末的五月,成都的天气依旧是十分调皮。用这个题目做标题,也是最近在读的一本书。

最近也思考的比较多,关于对事物的理解有了更立体的认识。我也没有想象过,一些观念也会被新的观念冲破,在被冲击的毫无体肤之后我便开始思考,什么才是一个可持续发展的状态呢。

还记得去年年末的时候比较迷法医秦明,由此而产生联想,法医不就是服装设计师的不二人选吗?可能没有那个职业会比他们更了解人体骨骼结构咯,他们裁剪出来的衣服,肯定是完美无瑕。然后我就在想,我如果不做软件行业会做什么呢?或许是图书管理员吧,优化各种类书籍之间的存放和查找,也更可以清晰自己对系统化和模块化的分工云云,说笑罢了。

然后最近便接触到了熵的概念,一个来自于物理学的名词,那些在能量转换过程中浪费掉的、无法再利用的能量称为熵。然后便有自己的房间不去整理也会由有序变成无序,但是我们把一切活动技术化、条理化,而结果只是加快了能量转化和熵的过程。哇,我感觉世界观受到咯极大的冲击,那些我们看似很理想的环境,只是把熵转换到咯我们看不见的地方,而这些混乱,积压多咯就会濒临崩溃的边缘,不管是人们的精神层面,还是物质的固有状态。

我开始有些不知所措,但是一觉之后我便将这些抛在了脑后,毕竟睡觉和早饭才是本体。

几天之后,我又被一个新的Websocket传输协议所唤醒,这个协议存在的如此低调以致于我现在才发现它,或许也是我功力尚浅。我仍想用HTTP邮递员模式去理解它,但是发现它不吃这一套,哇哦,我被新鲜的事物所吸引,好像快点和它做朋友,听听他身上有趣的故事。然后我在阮一峰老师看到咯我能理解的一套说辞,并加上自己的理解搞成一套冰箱模型(我也不知道是在那里看到咯冰箱的字眼),来理解咯轮询,长轮询和WS的意思。

炎热的夏天,我呆在家里等着妈妈买水果回来放进冰箱,但是我不知道妈妈什么时候会回家,所以我过一会儿就要跑出去打开冰箱看看有没有水果,没有的话就乖乖回到自己房间,然后过一会儿又重复前面的动作。这时候我就在“轮询”冰箱有没有水果。但是我知道这样不好,我比较偷懒,索性就一直打开冰箱,坐在冰箱前面守着妈妈买回来水果,这时候我就在“长轮询”冰箱里有没有水果(妈妈一定会骂我为什么要一直开着冰箱,这样超级占她冰箱的资源)。后来,我还是回到自己的房间,没有跑出来开冰箱门了,这时候妈妈给我打了个电话说她把水果放到冰箱里啦,我很开心的跑出来打开冰箱,发现了好多水果,这时候我便“WS”了冰箱里有没有水果,很开心。

我觉得开冰箱模式比快递模式有趣多咯,但是很多人并不喜欢冰箱模式,但是不存在的,在不久的将来,肯定会有很多人去开冰箱的,而且是只开一次冰箱。

最近学习了很多东西,对SOAPREST协议有了更进一步的了解,解决手机H5背景音乐不能自动播放的问题,捣鼓出了在Linux系统下搭建了一个Jenkins环境,正在研究它的使用,又买了一个域名wangbo.link(怕到时候买不到咯呢),管它的先屯着。微博使用咯Stylish插件美化咯一下看起来清爽多啦。最近新出的粉红色可乐一直没有机会去喝,想了想还是不去啦。手抓饼大叔好久没有来过咯,很想念他番茄沙拉酱的手抓饼味道。

“世间好物不坚牢,彩云易散琉璃脆。”嗯,怕还是要去跑个步哦。

Bobby 2017.5.22

未来世界的幸存者

这是最好的时代,也是最坏的时代。第一次听到这句话是在郭敬明的电影里,当然很多人都在说他的电影很烂云云,但是不可否认的是,他赚的盆满钵满。
我们正在经历着巨变,可能说这种变化不像高楼大厦那样看上去客观具体,但是比那个更大更快的正是这种悄无声息的变化。
因为我在成都上学,平时在外出的时候我一般选择坐地铁,但是我为什么会坐地铁,地铁是怎样出现在我的生活中的呢?悄无声息,没有很突然,是大家出行的需要。同样,在改变出行方式的不只是地铁,还有滴滴和共享单车。在传统出租车行业的抵抗和抵制过后,网约车正规化,这看上去是大众对出租的不满的满足,更低的价格,更好的服务,我们都是受益者。如果我父亲是出租车司机的话,在饭桌上吃饭谈论滴滴的可恶和现在赚钱的不易,我会微笑的回答他:时代已经改变了。
就像前几年的网约车一样,共享单车正在改变着地铁的最后一公里,也是悄无声息的出现,方便了很多上班族的出行,也冲击了野摩的和三轮车师傅的养家保障,愤怒的人们把共享单车扔进河里,集中烧毁,享受着这伟大的胜利。但是越来越多的投资人涌入,越来越多的车辆投放市场,美好的抵抗已经荡然无存。
这历史是多么的相似,在过去的几十年里,同样的事情也发生过,大量的工人下岗,被抛弃的无法生存。他们是技术过硬的工匠,但是也抵不过时代的改变。这让我想起小时候玩过的一个小游戏,《小小特警》,这个作者是多么的棒,用flash就可以做出这么酷的游戏,那时候的flash开发者也是春风满面,生活滋润。然而,悄无声息的,HTML5的出现,冲破了他们的美梦。他们还没有反应过来,就要因为养家糊口而重拾代码,作为一名十年经验的flash大牛,不得不重新和二十来岁的年青人站在同一起点,学习新的语言,但是岁月不等人,莫法改变的大师,又要被时代抛弃。
这个时代,我们的时代,正在互联网大潮下被冲的七零八落,各个新的事物的出现,各个老牌企业的倒下,诺基亚,曾经手机界的霸主,如今江湖已经没有了它的名字。柯达,童年的胶片相机,如今也留在了童年。搜狐,中国互联网第一个吃螃蟹的人,现在已经被BAT这些后起之秀抛在脑后,大口喘气,后生可畏。昨天的傲气,已经荡然无存。
我想,我能够在未来世界幸存下来么?或者说,我们可以去颠覆前辈的时代么。那我们应该去怎样为未来准备呢。肯定,要不断的思考,不断的否认自己,不应该把自己当作主角,而应改把自己当作未来世界的边缘人,从OB视角去看待它,改变的开始,应当是自己的观念。也就是时时刻刻的危机感,现在我们坐在办公室,编辑着文档,抢着群里那一两块的红包,感觉很有优越感,其实现在的我们,和父母那时候在工厂工作,在市场上买菜讲几毛钱的菜价没什么区别,你的优越感,只是因为经济转型所造成的错觉罢了。父母的工作会被机器设备替代,你的也一样,只不过可能是机器人去替代你。就像公交车上的售票员被自动售票机替代一样,悄无声息。
静静的思考吧,每天给自己一段时间,思考一下,自己什么东西,是不会被替代的。
以上
王博 Bobby
2017.3.12

怎样保存instagram上的照片?

小伙伴们都知道,大家饭的爱豆喜欢在instagram发些照片,那么每次看到喜欢的爱豆发的照片我们都想存下来,但是无赖手机上莫法保存图片就只能截图了,那么怎样保存instagram上的照片呢?今天我就给大家分享一下我的方法。

当然,我们也知道instagram是被墙了的,首先第一步就是要解决搭梯子的问题,这个的话手机上我是用的自由门,是免费然后简单粗暴的一个应用,不用配置乱七八糟的东西,一个按钮,点击就用,很皮。电脑上的话东西就多了,可以用ss,但是我自己是改的hosts文件,可以百度一下老Dhosts,也是简单粗暴,点击就用,也很皮。

那么墙的问题解决了,回到正题,我们来说下怎样 保存图片,首先我们要分析一下保存图片这个原理,简答来说就是要找到图片保存的地址,手机上操作比较麻烦,这个地址被屏蔽了的,那我们只好从电脑上搞(毕竟浏览器上好弄些),首先我们先搭好梯子,然后打开ins的网站。


现在我们看到了一张GD发的图片,我们很喜欢,然后去保存它,当然我们这里可以很粗暴的Ctrl+S保存全部网页内容,这样图片什么的也全部保存下来了,很皮,但是我们不这样还可以更针对一点。

这时候我们F12打开控制器,然后再Ctrl+F呼出搜索框,在框里搜索jpg,当然第一张肯定是显示的GD的头像,我们点击查找下一个,就出现了这张照片的真实地址,然后我们把地址复制在新的窗口打开,再右键另存为图片,完美,GD这张图片就存下来咯,很皮,很简单蛤。

盖茨的紧身衣

文/王小波  发布于1996年《中华读书报》

比尔·盖茨在《未来之路》一书里写道:随着现代信息技术的发展,工程师已有能力营造真实的感觉。他们可以给人戴上显示彩色图像的眼镜,再给你戴上立体声耳机,你的所见所闻都由计算机来控制。只要软硬件都过硬,人分不出电子音像和真声真像的区别。可能现在的软硬件还称不上过硬,尚做不到这一点,但过去二十年里,技术的进步是惊人的,所以对这一天的到来,一定要有心理准备。

光看到和听到还不算身历其境,还要模拟身体的感觉。盖茨先生想出一种东西,叫做VR紧身衣,这是一种机电设备,像一件衣服,内表面上有很多伸缩的触头,用电脑来控制,这样就可以模仿人的触觉。照他的说法,只要有二十五到三十万个触点,就可以完全模拟人全身的触感——从电脑技术的角度来说,控制这些触头简直是小儿科。

有了这身衣服,一切都大不一样。比方说,电脑向你输出一阵风,你不但可以看到风吹杨柳,听到风过树梢,还可以感到风从脸上流过——假如电脑输出的是美人,那就不仅是她的音容笑貌,还有她的发丝从你面颊上滑过——这是友好的美人,假如不友好,来的就是大耳刮子——VR紧身衣的概念就是如此。作为学食品科技的人,我觉得还该有个面罩连着一些香水瓶,由电脑控制的阀门决定你该闻到什么气味,但假若你患有鼻炎,就会觉得面罩没有必要。总而言之,VR紧身衣的概念就是如此。估计要不了二十年,科学就能把它造出来,而且让它很便宜,像今天的电子游戏机一样,在街上出售;穿上它就能前往另一个世界,假如软件丰富,想上哪儿就能上哪儿,想遇上谁就能遇上谁,想干啥就能干啥,而且不花什么代价——顶多出点软件钱。到了那一天,不知人们还有没有心思阅读文本,甚至识不识字都不一定。我靠写作为生,现在该作出何种决定呢?

大概是在六七十年代吧,法国有些小说家就这样提出问题:在电影时代,小说应该怎么写?该看到的电影都演出来了,该听到的广播也播出来了。托尔斯泰在《战争与和平》里花几十页写出的东西,用宽银幕电影几个镜头就能解决。还照经典作家的写法,没有人爱看,顶多给电影提供脚本——如我们所知,这叫生产初级产品,在现代社会里地位很低。在那时,电影电视就像比尔·盖茨的紧身衣,对艺术家来说,是天大的灾难。有人提出,小说应该向诗歌的方向发展。还有人说,小说该着重去写人内心的感受。这样就有了法国的新小说。还有人除了写小说,还去搞搞电影,比如已故的玛格丽特·杜拉斯。我对这些作品很感兴趣,但凭良心说,除杜拉斯的《情人》之外,近十几年来没读到过什么令人满意的小说。有人也许会提出最近风靡一时的《廊桥遗梦》,但我以为,那不过是一部文字化的电影。假如把它编成软件,钻到比尔·盖茨的紧身衣里去享受,会更过瘾一些。相比之下,我宁愿要一本五迷三道的法国新小说,也不要一部《廊桥遗梦》,这是因为,从小说自身的前途来看,写出这种东西解决不了问题。

真正的小说家不会喜欢把小说写得像电影。我记得米兰·昆德拉说过,小说和音乐是同质的东西。我讨厌这个说法,因为好像这世界上没有了音乐,就说不出小说该像什么了;但也不能不承认,这种说法有些道理。小说该写人内在的感觉,这是没有疑问的。但仅此还不够,还要使这些感觉组成韵律。音乐有种连贯的、使人神往的东西,小说也该有。既然难以言状,就叫它韵律好了。

本文的目的是要纪念已故的杜拉斯,谈谈她的小说《情人》,谁知扯得这样远——现在可以进入主题。我喜欢过不少小说,比方说,乔治·奥威尔的《1984》,还有些别的书。但这些小说对我的意义都不能和《情人》相比。《1984》这样的书对我有帮助,是帮我解决人生中的一些疑惑,而《情人》解决的是有关小说自身的疑惑。这本书的绝顶美好之处在于,它写出一种人生的韵律。书中的性爱和生活中别的事件,都按一种韵律来组织,使我完全满意了。就如达·芬奇画出了他的杰作,别人不肯看,那是别人的错,不是达·芬奇的错;米开朗琪罗雕出了他的杰作,别人不肯看,那是别人的错,不是米开朗琪罗的错。现代小说有这样的杰作,人若不肯看小说,那是人的错,不是小说的错。杜拉斯写过《华北情人》后说,我最终还原成小说家了。这就是说,只有书写文本能使她获得叙事艺术的精髓。这个结论使我满意,既不羡慕电影的镜头,也不羡慕比尔·盖茨的紧身衣。

背单词枯燥?什么才是你的精彩呢?

“为救李郎离家园,谁料皇榜中状元,中状元 着红袍,帽插宫花好啊,好新鲜~”
我是Bobby,想和大家分享一下一个WebVR相关的经历。最近在弄一个全景图项目,效果的话就是要把全景图在网页上展示,有种身临其境的感觉。大概就像这样


然后就开始动手做咯噻,然而我第一次弄出来的是这样的。我的天是不是不能忍?是呀,这不是一拖翔嘛。。而且这个翔还随着坐标原点转动着。。但是仔细一看,这翔上有东西呢。其实场景是渲染出来了的,只不过渲染到错误的物体上咯。搜咯一下,这翔有名称的,叫环形节,而且它表面的材质是金属的。我们要渲染的场景要么是球体,要么是正方体,不会是这翔。。材质的话 基本材质就可以了,因为要把图片贴在其表面,也不需要光源,所以搞定。

图片
场景这块搞定,但是还有个问题,就是相机的设定还有怎么实现vr。这块的话,我也是找咯好多的资料,很多是英文的,还有一个还是日文。。没有办法,只有去记和理解这些个名词的意思和作用,然后就回到咯我们背单词的话题上,蛤蛤。英语真的很重要,这是我搞这个模型后体会到的。我随便贴一段吧,关于这一块的话,你要去深入理解的话,英语原文才是最吼的。图片
那么回到主题了,如果说背单词写代码枯燥的话,那么什么才是精彩的呢?食堂的大妈每天打饭不枯燥么?学校的保安每天看监控不枯燥么?校门口的手抓饼老板每天做几百个手抓饼不枯燥么?所谓的枯燥,都不过是在给心中的美好的规划愿景铺路罢了。大部分人不是含着资源出生就可以住理想国的,只有这些努力的枯燥,才能慢慢编制你的美好愿景,而不是抱怨。
“为救李郎离家园,谁料皇榜中状元,中状元着红袍,帽插宫花好啊,好新鲜~”
共勉 Bobby
2016.12.17