美文网首页
appium+docker 自动化测试

appium+docker 自动化测试

作者: wwq2020 | 来源:发表于2020-07-21 16:12 被阅读0次

    简介

    本文和上文[https://www.jianshu.com/p/e859bede7761]的区别在于,都是命令行操作的,意味着可以自动化,上文创建 avd 等部分是手动的

    准备

    安装 docker(省略)

    准备模拟器环境

    这边也可以做个 docker 镜像

    安装安卓 sdk

    创建 avd

    avdmanager create avd -n avdtest -k "system-images;android-28;google_apis;x86"
    

    运行 avd

    emulator -avd avdtest
    

    运行一个 proxy(因为 emulator 运行的 avd 监听的是 localhost,可以使用其他反向代理)
    这里写个简单代码 proxy.go

    package main
    
    import (
        "io"
        "net"
    )
    
    func main() {
        ln, err := net.Listen("tcp", ":5553")
        if err != nil {
            panic(err)
        }
        for {
            conn, err := ln.Accept()
            if err != nil {
                panic(err)
            }
            go serve(conn)
        }
    }
    
    func serve(src net.Conn) {
        dst, err := net.Dial("tcp", "127.0.0.1:5555")
        if err != nil {
            panic(err)
        }
        go io.Copy(src, dst)
        go io.Copy(dst, src)
    }
    
    

    运行 proxy

    go run proxy.go
    

    准备 appium 环境

    10.105.16.166 为目标 ip
    /data 是 apk 的位置

    docker run -d -p 4723:4723 -e REMOTE_ADB=true -e ANDROID_DEVICES=10.105.16.166:5553 -e REMOTE_ADB_POLLING_SEC=3 -v /data:/data --name container-appium appium/appium
    

    测试

    参考

    提示

    安卓模拟器相关:

    可以从https://developer.android.com/studio#downloads下载(Command line tools only)

    查看

    ./bin/sdkmanager --list --sdk_root=/path/to/lib
    

    安装 platform-tools

    ./bin/sdkmanager --sdk_root=/path/to/lib "platform-tools" "platforms;android-28"
    

    安装 emulator

    ./bin/sdkmanager  --sdk_root=/path/to/lib emulator
    

    相关文章

      网友评论

          本文标题:appium+docker 自动化测试

          本文链接:https://www.haomeiwen.com/subject/mjaikktx.html