爱收集资源网

快手涨粉丝辅助 - 刷粉丝软件快手下载·

网络 2023-06-05 07:11

关于直播自动点赞功能的实现

场景:我们在划水看直播,之后想给自己喜欢的主播点赞(刷赞),而且手臂仍然点赞好冷哦,可不可以用哪些方法来取代我们自动点赞呢。

接出来我们来分享两种方法,第一种就是使用adbshell命令来模拟点击,第二种就是使用手动化测试的方式来模拟点击,假如还有更好的方式或则思路请在文章顶部留言哦。

工具介绍

介绍方式之前我们先来介绍一个工具,作为安卓开发的应当都接触过也或多或少的使用过了。工具名子称作AndroidDeviceMonitor。这个工具坐落你的SDK目录下的tools文件夹中,名子为monitor.bat(Windows系统)。双击打开后界面如下所示:

为了测试我们手机打开天猫直播任意的直播页面,类似如下所示,之后手机联接笔记本记得开启USB调试模式。一切打算就绪以后,我们首先点击“11”所示的手机按键,之后稍等片刻可以看见中间区域出现了手机直播的截图,如“22”所示。出现截图后联通键盘到右下角点赞区域,点击点赞按键,可以在左边看见相关信息了,这儿我们要注意的就是一个resource-id以及一个bounds,resource-id就是这个控件的id了,bounds就是这个组件的区域。记住这两个数据,下边我们会用到。

快手点赞刷评论安卓_微博评论刷赞软件_微博点赞评论

方式1、adbshell

使用命令的形式很简单易懂了,就是使用inputtap命令来直接模拟点击风波,x、y就是要点击位置的座标了。

adb shell input tap x y

那x,y的座标如何获取的呢,还记得前面介绍的工具吗,对的,就是那种bounds数据。

微博点赞评论_快手点赞刷评论安卓_微博评论刷赞软件

这儿我们取[620,1200]来测试好了,打开AndroidStudio的Terminal输入:

adbshellinputtap6201200,之后回车,手机上的页面也要保持在直播页面哦,这样不出意外都会看见点赞按键手动点击了下。

好了基本的思路就是使用adbshell来操作了,那可能有疑惑了,我如此点赞一次还须要输入那么多代码之后再回车嘛,这不更麻烦了??不不不,重点是在旁边啦,上面只是介绍如此个代码,之后我们须要循环使用如此个代码就好了,对吧,这么如何使用呢,这儿又有两种方式:

1.1、bat批处理

之所以想到bat文件是由于这个原本就是在命令行窗口下执行的,所以使用批处理来循环执行这段命令真是在合适不过了,可是我又不会批处理的代码,所以网上找了段循环代码之后稍为更改了下,如下所示:

微博点赞评论_快手点赞刷评论安卓_微博评论刷赞软件

@echo off
:1
adb shell input tap 620 1200
call "auto.bat"
goto 1

将上文的代码拷贝到记事本中,之后保存为auto.bat文件,双击该文件可以看见点赞按键在手动一个个点击了。

并且疗效不太好,点击速率太慢,由于执行一次adb命令时间有点久。所以解决办法呢就是-----你多双击几次这个bat文件,之后开好几个这样的窗口就好了啊,哈哈哈哈哈!其实你也可以再写一个批处理来伪装多线程形式,这儿就不写代码了,由于我也不怎样懂批处理的代码。

1.2、安卓获取权限执行adbshell命令

这是第二种借助adbshell的方法,就是安卓机获取root权限,之后在手机中手动执行代码,伪代码如下:

微博点赞评论_微博评论刷赞软件_快手点赞刷评论安卓

String cmd = "input tap 620 1200";
Process process = Runtime.getRuntime().exec("su");
OutputStream os = process.getOutputStream();
os.write((cmd + " \n").getBytes());
os.flush();

思路就是获取root权限,之后执行代码,我是通过漂浮窗的形式诠释出一个按键,之后打开天猫直播页面,之后点击漂浮窗的按键,开始循环执行shell命令,具体代码在GameHelper,这儿就不在解读。

方式2、自动化测试

这些方案就是借助手动化测试来进行模拟点击操作,首先使用AndroidStudio新建安卓项目,之后在app模块的build.gradle中添加测试框架的依赖(版本看情况选择,我目前是2。2.1.2):

androidTestImplementation‘com.android.support.test.uiautomator:uiautomator-v18:2.1.2’,

微博评论刷赞软件_快手点赞刷评论安卓_微博点赞评论

依赖添加完毕后打开项目的androidTest文件,如下所示app/java/com.cooloongwu.helper(androidTest),之后在该包下新建TaoBaoTest.java文件:

TaoBaoTest.java文件具体代码如下:

package com.cooloongwu.helper;
import android.app.Instrumentation;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.UiDevice;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
/**
 * Created by CooLoongWu on 2018-10-16 20:57.
 */
@RunWith(AndroidJUnit4.class)
public class TaoBaoTest {
    public Instrumentation instrumentation;
    public UiDevice uiDevice;
    @Before
    public void setUp() {
        instrumentation = InstrumentationRegistry.getInstrumentation();
        uiDevice = UiDevice.getInstance(instrumentation);
    }
    //点赞按钮ID:com.taobao.taobao:id/taolive_favor_icon_config
    //点赞按钮范围[618,1179][696,1257]
    @Test
    public void test() throws InterruptedException {
       //点击喜欢按钮
        while (true) {
        //换用click方法,感觉比findObject方法效率高很多,而且findObject()执行有时会遇到一些奇怪的错误
            uiDevice.click(620, 1200);
            Thread.sleep(100);
            uiDevice.click(622, 1202);
//            uiDevice.findObject(By.res(
//                    "com.taobao.taobao:id/taolive_favor_icon_config"))
//                    .click();
        }
    }
}

编辑完后在test()方式上右键,之后点击Run‘test’,确保手机页面在天猫直播的页面,运行后你就可以看见点赞按键在手动点击了。

里面是最基本的手动化测试代码,注解可能须要稍为理解下,之后其他代码都是很显著了看名子都能晓得意思的。关于安卓的手动化测试这儿只是展示了一丢丢的内容,并且比较的有趣,通过这个反例入门手动化,前面要继续努力学习啦。

两种形式效率对比

根据上述代码进行对比,使用手动化测试的方法显著要比adbshell的形式效率高,点击速率快,但是不会导致直播卡顿,开了多个黑窗口来执行adbshell后总会导致直播有一定的延后及卡顿感,暂不清楚如何回事。

快手点赞刷评论安卓