• appium 1.7.2 ChangeLog at 2018年01月09日

    1.7.2一直安装不上:

    34157 verbose stack Error: appium-chromedriver@3.1.4 install: `node install-npm.js`
    34157 verbose stack Exit status 1
    34157 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
    34157 verbose stack     at emitTwo (events.js:125:13)
    34157 verbose stack     at EventEmitter.emit (events.js:213:7)
    34157 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
    34157 verbose stack     at emitTwo (events.js:125:13)
    34157 verbose stack     at ChildProcess.emit (events.js:213:7)
    34157 verbose stack     at maybeClose (internal/child_process.js:897:16)
    34157 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:208:5)
    34158 verbose pkgid appium-chromedriver@3.1.4
    34159 verbose cwd /usr/local/lib/node_modules
    34160 verbose Darwin 17.3.0
    34161 verbose argv "/usr/local/Cellar/node/8.1.4/bin/node" "/usr/local/bin/npm" "install" "appium"
    34162 verbose node v8.1.4
    34163 verbose npm  v5.6.0
    34164 error code ELIFECYCLE
    34165 error errno 1
    34166 error appium-chromedriver@3.1.4 install: `node install-npm.js`
    34166 error Exit status 1
    34167 error Failed at the appium-chromedriver@3.1.4 install script.
    34167 error This is probably not a problem with npm. There is likely additional logging output above.
    34168 verbose exit [ 1, true ]
    
  • 加50ms并不算是延时,只是减少了ios-minicap的帧率,不影响反应速度的。

  • wda我这边响应还挺快的,主要升级mac os和xcode,用最新版的wda。

  • ios-minicap 只支持一台的,不支持多个同时运行。

  • 会的,ios-minicap启动的时候会导致WDA挂掉,所以必须先启动ios-minicap,才能启动wda。

  • 我怀疑是你ios-minicap没有添加延时,所以程序处理不过来,导致延时了。请按照下面这一步操作:

    6、Change and Rebuild ios-minicap
    
    
    In order to reduce the pressure of MAC, we need to reduce the frequency of sending imgs from minicaps.
    
    Go to the ios-minicap folder, and Edit the "src/minicap.cpp", Add a method:
    
    
    static void sleep_ms(unsigned int secs)
    {
    struct timeval tval;
    tval.tv_sec=secs/1000;
    tval.tv_usec=(secs*1000)%1000000;
    select(0,NULL,NULL,NULL,&tval);
    }
    Then add a sleep in main:
    
    
    while (gWaiter.isRunning() and gWaiter.waitForFrame() > 0) {
    client.lockFrame(&frame);
    encoder.encode(&frame);
    client.releaseFrame(&frame);
    putUInt32LE(frameSize, encoder.getEncodedSize());
    if ( pumps(socket, frameSize, 4) < 0 ) {
    break;
    }
    if ( pumps(socket, encoder.getEncodedData(), encoder.getEncodedSize()) < 0 ) {
    break;
    }
    sleep_ms(50);
    }
    Next step is rebuilding ios-minicap, runing the build.sh in ios-minicap folder:
    
    
    $ ./build.sh 
    mkdir: build: File exists
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /Users/waterhuang/Downloads/ios-minicap-master/build
    [100%] Built target ios_minicap
    
  • 应该是可以的,只有一个wda的xcode-build命令在运行,这个命令应该可以运行多个实例等。

  • 要做设备管理平台就麻烦了,暂时没想做,我是跟我们自己的另一个平台集成使用了。

  • 连接多台你是要同时多个人使用多台吗?如果要做这个,就不能用ios-minicap来进行屏幕回显了,需要使用idevicescreenshot。

  • 如果wda起来了,iproxy也起来了应该就没问题,请问你的mac什么配置?启动wda需要多长时间?目前我是用20秒的时间启动wda,如果你20秒时间起不来,那就要加一些时间了。

招银网络科技长期招靠谱的自动化测试开发人员,有兴趣发我邮箱 312743168@qq.com