monkeyrunner写阴阳师脚本

阴阳师最近很火,我觉得成功的关键在于——妹子,游戏上手容易,画风精美,妹子自然喜欢,有妹子玩还缺用户?

每天刷狗粮略烦,这几天在看些anroid脚本测试,发现monkeyrunner对于这些操作死板的游戏用来刷级很好用。

我使用的是网易自家出的模拟器mumu,运行阴阳师暂时没发现什么问题,还是相当好用的。

monkeyrunner是 android SDK 中自带的测试工具,提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。

写阴阳师的脚本主要是来模拟用户的点击行为。这里拿刷觉醒副本作为例子,发现,每次刷的规律都一样的,点击挑战——准备好——刷完点击三次跳出界面——点击挑战,这样循环。

第一步:先获取屏幕的几个按钮的像素坐标。我选的木木分辨率是960*600,挑战按钮(718,429),准备按钮(866,517)像素坐标在按钮的范围即可。

monkeyrunner写阴阳师脚本_第1张图片

monkeyrunner写阴阳师脚本_第2张图片

获取像素坐标你可以在手机开发者模式里面设置,或者自己写个简单app来获取:

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    @Override
    public boolean onTouchEvent(MotionEvent event) {

        int x = (int) event.getX();
        int y = (int) event.getY();
        Toast.makeText(this, "X at " + x + ";Y at " + y, Toast.LENGTH_SHORT).show();
        return true;
    }

}


第二步:写python脚本,monkeyrunner的api自己可以去看一下,也不多.

新建一个文件,后缀py,如果里面有中文,记得保存的格式为UTF-8

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice  
device=MonkeyRunner.waitForConnection()  
for i in range(1,10):
	#点击挑战
	device.touch(718,429,"DOWN_AND_UP")
	MonkeyRunner.sleep(10)


	#开始战斗
	device.touch(866,517,"DOWN_AND_UP")
	MonkeyRunner.sleep(90)
	device.touch(480,1,"DOWN_AND_UP")
	MonkeyRunner.sleep(2)
	device.touch(480,1,"DOWN_AND_UP")
	MonkeyRunner.sleep(3)
	device.touch(480,1,"DOWN_AND_UP")
	MonkeyRunner.sleep(5)

这里的MonkeyRunner.sleep(10)指的是休眠10秒,因为跳转到下个页面需要时间的,这个时间内点击操作是无效的。这里MonkeyRunner.sleep(90)的原

因是战斗的时间,我在刷狗粮,所以只派一个主将出场,所以设置90秒是有点长,可以根据自己的需求调整。


第三步:运行脚本

cmd到android——>sdk——>tools下,

输入命令monkeyrunner py文件路径

然后就可以自动刷了。。



类似你也可以写御魂副本,结界突破其他副本,但是探索副本就有点难度了,因为小怪是可以走动的,所以点击事情难以获取。如果你有时间也可以写个日常任务的脚本,但是如何通过三次探索副本你要发挥自己的聪明才智了。

这个完全不必担心被封号,因为完全是模拟用户点击行为,网易爸爸你再牛也看不到我是光着身子玩你的游戏还是使用monkeyrunner脚本刷狗粮。也有类似的软件,比如按键精灵,不过也需要写些控制逻辑,貌似没这个好用。

后来思考了一下,这种方式还是能检测得到的,如果监听用户点击事件时间间隔,如果是有规律的,一般就是脚本了。所以每次循环的时间要不一样,那就检测不到了。


你可能感兴趣的:(测试篇)