Appium 总结困扰一段时间的 appium 问题解决方案

greenplum · 2016年07月01日 · 最后由 meitian 回复于 2016年07月25日 · 2440 次阅读
  1. 一台 mac 电脑同时跑多个 iOS appium 服务
    1. 以前总是在一台 mac 电脑启一个 iOS appium 服务,在另外一台电脑 mac 虚拟机启一个 iOS appium 服务,发现虚拟机上自动化脚本跑久了就会很卡 查看 Appium Discuss 论坛终于找到解决方案
      • iOS appium A 服务:appium -p 4723 --tmp /tmp/tmp4723
      • iOS appium B 服务:appium -p 4724 --tmp /tmp/tmp4724
      • 注意:tmp 参数必不可少,否则会出现跑脚本时不断切换服务器切换不到另外一台服务器的问题
  2. Android appium 服务器执行自动化脚本一个多小时总是报 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory 内存溢出
    1. 通过调整\Appium\node_modules.bin\appium.cmd 中的--max-old-space-size 内存限制大小参数值 @IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" "%~dp0\..\appium\bin\appium.js" %* ) ELSE ( node --max-old-space-size=2047 --gc-global "%~dp0\..\appium\bin\appium.js" %* ) 注:--max-old-space-size 参数值设置超过 2047,如 2048 启动 appium 服务器也会报 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory 查看了相关资料,原来是 Node V8 做了内存限制,限制了 JavaScript 所能使用的内存(64 位为 1.9GB,32 位为 1GB),暂时还不明白它为啥要做此限制。
共收到 9 条回复 时间 点赞

赞,都是一些比较实用的东西。

另外,想问下 --tmp 是个什么参数?能说明一下吗?

@chenhengjie123 tmp 参数是用来管理临时文件的目录,官方文档是这样说的
Absolute path to directory Appium can use to manage temporary files, like built-in iOS apps it needs to move around. On *nix/Mac defaults to /tmp, on Windows defaults to C:\Windows\Temp

#2 楼 @greenplum 那为什么加了之后会更稳定?主要是不明白这点。

大赞!!!

#3 楼 @chenhengjie123
以前碰到过这个问题,现在不知道咋样
指定—app但没有--noSign的时候 appium 会解压 app,把文件存放在--tmp指定的文件夹

Appium Android ——利用 TestNG 并行执行用例

注 1:
这个测试类没有指定 app 路径,如果指定,同时 unzip 的时候会冲突。目前是复制了多个 apk 。
File app = new File(appDir, "AppName"+port+".apk");
并在 appium server 指定不同的临时文件路径,比如:
--tmp D:\tem1
--tmp D:\tem2

LZ 我想请问下,我的是真机调试,为什么 运行脚本的时候提示这个

为什么我的还是不能多服务运行

您好,问一下 mac 支持同时跑多个真机么?我看官网上说是不支持的

—— 来自 TesterHome 官方 安卓客户端

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册