appium+docker 自动化测试

2020-07-21  本文已影响0人  wwq2020

简介

本文和上文[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
上一篇下一篇

猜你喜欢

热点阅读