1. 关闭不需要检查的 sensor,比如 g-sensor,light-sensor
    2. 执行这个点击操作前,执行 adb shell getevent 命令
    3. 执行这个点击操作,检查下,到时有没有事件输入,如果没有,说明根本未点击,如果有,可能是点了,但没有效果。
  • 哇,厉害了 testerhome

  • 那就是@264768502 同学所说的-g 命令,一个意思

  • UM2.0 无法使用 keyevent at 2017年08月01日

    暂时没有用到 keyevent,这其实应该简单的吧,使用 appium 的话,就需要把消息发到 ui2.0 的 server 上(即手机端安装的 2.0 apk)这条路通了的话,基本上的就成了,然后哪边有问题就解决好了。
    另外也可以直接在 ui2.0 的 server 中加一个 get 请求的 URL,然后 PC 端使用 httpclient 发到http://url:8200
    这个端口可以执行 adb forward --list 拿到
    以上都 不会的话就直接调 adb 命令执行吧

  • 哇噢,好厉害

  • 最后一段代码就是啊

  • 搜索一下本站,appium uiautomator2

  • appium 也是通过 adb 或 pm 命令装上去的,可以从这两个命令入手

  • 法一:让开发加日志
    法二:可以对比截图当前截图与目标截图
    法三:根据 dumpsys 信息,可以判断,具体信息是啥忘记了

  • 我更新了下,另外要配合 ui2.0server 端的修改才可以自动点击弹窗

  • 从原来的位置剪切到新的位置

  • 可以招一两个人,把现有的稳定的事情分下去,自己再学习新技能啊,性能测试,安全测试,大数据,机器学习什么的。一个什么都不会的人只能这么瞎 YY 了👀

  • 填完坑了,能把这个帖子给完善一下方便需要的同学就好了

  • 会这么多还说不知道自己擅长什么,让什么也不会的人情何以堪……

  • 收到咯,谢谢😘

  • 请携夫人一同到场👀

  • 已发,请帮忙 CHECK 下,感谢

  • 我要怎样私发?你的 testerhome 主页没有公开邮箱,还是直接回复公众号就可以?我的邮箱是 bauul@126.com

  • 28 号早上 9 点一刻就报名了,也没收到邮件,感觉透明程度比较低,失望

  • 不是这个原因噢,

    buildscript {
        repositories {
            jcenter()
            maven { url 'https://jitpack.io' }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            //classpath 'com.github.JakeWharton:sdk-manager-plugin:0ce4cdf08009d79223850a59959d9d6e774d0f77'
        }
    }
    
    //apply plugin: 'android-sdk-manager'
    apply plugin: 'com.android.application'
    
    // optionally including an emulator
    //sdkManager {
    //    emulatorVersion 'android-23'
    //    emulatorArchitecture 'x86' // optional, defaults to arm
    //}
    
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
        defaultConfig {
            applicationId "io.appium.uiautomator2"
            minSdkVersion 18
            targetSdkVersion 25
            versionCode 1
            archivesBaseName = "appium-uiautomator2"
            /**
             * versionName should be updated and inline with version in package.json for every npm release.
             */
            versionName "0.1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            debug {
                debuggable true
            }
            customDebuggableBuildType {
                debuggable true
            }
            applicationVariants.all { variant ->
                appendVersionNameVersionCode(variant, defaultConfig)
            }
        }
    
        lintOptions {
            abortOnError false
        }
        productFlavors {
            e2eTest {
                applicationId 'io.appium.uiautomator2.e2etest'
            }
            server {
                applicationId 'io.appium.uiautomator2.server'
            }
        }
        packagingOptions {
            exclude 'META-INF/maven/com.google.guava/guava/pom.properties'
            exclude 'META-INF/maven/com.google.guava/guava/pom.xml'
        }
    
        useLibrary 'org.apache.http.legacy'
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'io.netty:netty-all:4.0.41.Final'
        compile 'com.jayway.jsonpath:json-path:0.8.1'
        compile 'com.squareup.okhttp:okhttp:2.5.0'
        compile 'com.android.support.test:runner:0.5'
        compile 'com.android.support:support-annotations:25.1.0'
        compile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
        androidTestCompile 'junit:junit:4.12'
        androidTestCompile 'com.android.support:support-annotations:25.1.0'
        androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
        androidTestCompile 'com.android.support.test.espresso:espresso-web:2.2.2'
    }
    
    task installAUT(type: Exec) {
        group = 'test'
        description = 'Install app under test'
        def adb = android.getAdbExe().toString()
        def apk = file('../app/src/androidTestE2eTest/java/io/appium/uiautomator2/unittest/resource/ApiDemos-debug.apk')
        commandLine "$adb install -rg $apk".split(' ')
        standardOutput = new ByteArrayOutputStream()
        ext.output = {
            return standardOutput.toString()
        }
        println ext.output.toString()
    }
    
    afterEvaluate {
        tasks.each { task ->
            if (task.name.startsWith('connectedE2eTestDebugAndroidTest')) {
                task.dependsOn installAUT
            }
        }
    }
    
    def appendVersionNameVersionCode(variant, defaultConfig) {
        variant.outputs.each { output ->
            def file = output.packageApplication.outputFile
            def fileName = file.name.replace("debug.apk", "v${defaultConfig.versionName}.apk")
            output.packageApplication.outputFile = new File(file.parent, fileName)
        }
    }
    
    
    
    
  • pm list instrumentation 可以列出已安装的测试包

  • 能有个 demo 就好了

  • apk 的名字和我提供的两个完全一致吗?另外可以先把手机中已有的应用 卸载掉,再试一下

  • 你打包的方式导致的吧,确认文件名如下:
    appium-uiautomator2-server-v0.1.0.apk
    appium-uiautomator2-server-debug-androidTest.apk

    在目录:
    appium\node_modules\appium-uiautomator2-driver\uiautomator2

  • 这会儿还没联系的,是不是表示报名失败了?