Docker无法安装Android APK

时间:2018-08-05 15:59:12

标签: android python docker appium robotframework

我想从容器中将apk安装到模拟器中。 Appium服务器在0.0.0.0:4723上运行 模拟器在192.168.56.101:5555上运行

  

此处为docker-compose文件:

version: "2"
  services:
    test-container:
  build:
    context: robotframework
  command: -i 4 --outputdir /out /tmp/files
  privileged: true
  volumes:
    - ./results/all:/out:rw
  network_mode: "host"
  ports:
    - 4723
  

此处dockerfile

FROM  python:2.7-alpine

RUN pip install \
    robotframework \
    robotframework-requests \
    robotframework-appiumlibrary \
    six

ADD ./files /tmp/files

ENTRYPOINT [ "pybot" ]
  

这是测试文件

*** Settings ***
Library  AppiumLibrary
Library  OperatingSystem

*** TestCases ****
TestFour
  [tags]  4
  ${a}  Join Path  ${EXECDIR}  tmp/files/apk/app-development-release.apk
  Log  ${a}
  File Should Exist  ${a}

  Open Application  http://169.254.218.51:4723/wd/hub  platformName=Android
  ...  deviceName=192.168.56.101:5555  appPackage=com.android.browser
  ...  appActivity=com.android.browser.BrowserActivity
  Sleep  5
  Close Application

  Open Application  http://169.254.218.51:4723/wd/hub  platformName=Android
  ...  platformVersion=6.0  deviceName=192.168.56.101:5555  app=${a}
  ...  appPackage=com.setel.mobile.dev
  ...  appActivity=com.zapmobile.zap.ui.activity.SplashActivity
  Sleep  5
  Close All Applications

安装apk期间测试失败。

  

WebDriverException:消息:处理命令时发生未知的服务器端错误。原始错误:“ / tmp / files / apk / app-development-release.apk”中的应用程序不存在或不可访问

在没有docker的情况下运行测试不会返回任何错误。 使用docker运行测试将通过启动现有浏览器,而无法安装该应用程序。 检查文件是否始终通过。 我认为在解析apk的容器中存在一些权限问题。

0 个答案:

没有答案