ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

STF一机多控版(android版)安装部署手册

2021-04-25 19:03:35  阅读:326  来源: 互联网

标签:npm STF 1.0 stf loader brew install 一机 android


环境:mac 电脑

1、 安装adb环境,记得配置环境变量。

正常应该看到如下:

 

 

 nodejs 版本(需要8.X.0版本,是基于8.XX开发的,新的node可能会出现兼容问题): 8.14.0

 

 

在安装过程中,出现错误:npm ERR! code ETARGET,先查看版本是否存在(访问命令行中地址,下载成功,版本存在),再查看镜像是否是公司镜像,如是,请更新镜像为 https://registry.npmjs.org, 重新安装成功。

$npm config get registry

$npm config set registry https://registry.npmjs.org

node升降级方法:

$sudo npm install n -g

$sudo n 8.X.0   # X为你想要的版本

2、 检查是否安装brew(如按步骤1安装的adb应该已装brew):brew -v

 

 

 3、Git配置SSH Key:

生成密钥#ssh-keygen -t rsa -C "git注册邮箱"

查看密钥#cat /Users/cdtanghui3/.ssh/id_rsa.pub

Git中填写密钥:

 

 

 测试#ssh -T git@github.com,如出现以下提示即配置成功。

 

 

 4、 选择最新git包(Batch control based on STF support Mac/Linux,基于stf二次开发群控管理平台,支持Mac,Linux部署,一机多控):https://github.com/EasilyTest/stf.git

本地新建stf路径后进入该文件夹中,

$git clone https://github.com/EasilyTest/stf.git

5、 安装 brew 以及nodejs后,运行以下命令, 安装stf依赖包:

$cd /

$ pip3 install -U "tidevice[openssl]"  #如安装报错,使用下述命令安装,使用python3.6+版本下载安装,如版本小于3.6,brew install python安装最新版

$pip3 install -U tidevice #阿里内部小组用来做 iOS 自动化用的工具

$brew uninstall --ignore-dependencies XXX #如有安装老版本,请卸载后安装

$brew install --HEAD usbmuxd #USBMuxd连接方式不需要做MFI认证,支持iPhone上的App跟外设通过进行通信

$brew unlink XXX #如有安装老版本,请先去链接绑定

$brew link usbmuxd

$brew install --HEAD libimobiledevice #libimobiledevice 是一个跨平台的软件库,支持 iPhone®, iPod Touch®, iPad® and Apple TV® 等设备的通讯协议。

$brew install --HEAD ideviceinstaller #管理iOS设备上应用程序的安装与卸载,以及查看相关信息。 

$brew install carthage #提供OS X平台的pkg安装文件,管理iOS三方库。

$brew install socat #实现远程DEBUG

$brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config #安装rethinkdb

$brew install --cask android-platform-tools #安装adb,如步骤1已安装,此命令不执行。

6、 进入stf路径下修改文件

 

 

(1)在package.json中,将"node-sass",从"^3.13.1",改为"^4.13.1”。

(2)在bower.json中,将“ ng-context-menu”从“ AdiDahan / ng-context-menu#~1.0.5”更改为“ swimlane/ng-context-menu#~1.0.1”。

7、 进入stf根目录(安装依赖)

   $npm install –unsafe-perm

     如果没报错继续下一步。否则跳转到第10步。

8、更新依赖关联

    $npm link

9、检查stf环境

    $stf doctor

 

执行遇见问题:ERR/cli:doctor 80758 [*] Unexpected error checking ZeroMQ: Error: Could not locate the bindings file. Tried:

解决方法:$npm rebuild

再次$stf doctor,成功

 

 

 8、 启动stf

$stf local

报错:

2021-04-25T08:30:35.107Z FTL/db 82194 [*] No hosts left to try

2021-04-25T08:30:35.107Z FTL/util:lifecycle 82194 [*] Shutting down due to fatal error

 

/Users/cdtanghui3/Downloads/STF/stf/node_modules/bluebird/js/main/promise.js:680

            throw e;

            ^

ExitError: Exit code "1"

    at ChildProcess.<anonymous> (/Users/cdtanghui3/Downloads/STF/stf/lib/util/procutil.js:49:23)

    at emitTwo (events.js:126:13)

    at ChildProcess.emit (events.js:214:7)

at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)

原因:可能没有启动rethinkdb命令。

解决办法:$rethinkdb& #启动rethinkdb

 

 再次$ stf local,启动成功

9、一机多控

 

10、问题处理(终极解决方法)

在stf根目录下,执行命令:$npm list --depth=0

对比自己的版本和下面的版本是否一致。优先对比红色字体部分。

步骤为:

$npm uninstall XXX

$npm install XXX@xxx

或npm audit fix

├── @slack/client@3.16.0

├── adbkit@2.11.1

├── adbkit-apkreader@3.2.0

├── adbkit-monkey@1.0.1

├── android-device-list@1.2.3

├── async@2.6.3

├── aws-sdk@2.744.0

├── basic-auth@1.1.0

├── bluebird@2.11.0

├── body-parser@1.19.0

├── bower@1.8.8

├── bplist@0.0.4

├── bufferutil@1.3.0

├── chai@3.5.0

├── chalk@1.1.3

├── compression@1.7.4

├── cookie-session@2.0.0-rc.1

├── css-loader@0.23.1

├── csurf@1.11.0

├── debug@2.6.9

├── del@2.2.2

├── eslint@3.19.0

├── event-stream@3.3.5

├── eventemitter3@1.2.0

├── exports-loader@0.6.4

├── express@4.17.1

├── express-validator@2.21.0

├── extract-text-webpack-plugin@1.0.1

├── file-loader@0.9.0

├── file-saver@1.3.3

├── formidable@1.2.2

├── fs-extra@8.1.0

├── gm@1.23.1

├── gulp@3.9.1

├── gulp-angular-gettext@2.3.0

├── gulp-eslint@3.0.1

├── gulp-jsonlint@1.3.2

├── gulp-protractor@3.0.0

├── gulp-pug@3.3.0

├── gulp-run@1.7.1

├── gulp-util@3.0.8

├── hipchatter@0.3.2

├── html-loader@0.4.5

├── http-https@1.0.0

├── http-proxy@1.18.1

├── images@3.2.3

├── imports-loader@0.6.5

├── in-publish@2.0.1

├── jasmine-core@2.99.1

├── jasmine-reporters@2.3.2

├── jpeg-turbo@0.4.0

├── json-loader@0.5.7

├── jws@3.2.2

├── karma@1.7.1

├── karma-chrome-launcher@2.2.0

├── karma-firefox-launcher@1.3.0

├── karma-ie-launcher@1.0.0

├── karma-jasmine@2.0.1

├── karma-junit-reporter@1.2.0

├── karma-opera-launcher@1.0.0

├── karma-phantomjs-launcher@1.0.4

├── karma-safari-launcher@1.0.0

├── karma-webpack@1.8.1

├── ldapjs@1.0.2

├── less@2.7.3

├── less-loader@2.2.3

├── lodash@4.17.21

├── markdown-serve@0.3.3

├── memory-fs@0.3.0

├── mime@1.6.0

├── minicap-prebuilt-beta@2.4.0

├── minimatch@3.0.4

├── minitouch-prebuilt-beta@1.3.0

├── my-local-ip@1.0.0

├── ng-context-menu@0.1.1

├── node-libs-browser@1.1.1

├── node-sass@4.14.1

├── node-unzip-2@0.2.8

├── openid@2.0.7

├── passport@0.3.2

├── passport-oauth2@1.5.0

├── passport-saml@0.15.0

├── phantomjs-prebuilt@2.1.16

├── please-update-dependencies@2.0.0

├── protobufjs@3.8.2

├── protractor@5.4.4

├── protractor-html-reporter-2@1.0.4

├── proxy-addr@1.1.5

├── pug@2.0.4

├── raw-loader@0.5.1

├── request@2.88.2

├── request-progress@2.0.1

├── request-promise@4.2.6

├── rethinkdb@2.4.2

├── sass-loader@4.1.1

├── script-loader@0.7.2

├── semver@5.7.1

├── serve-favicon@2.5.0

├── serve-static@1.14.1

├── sharp@0.22.1

├── sinon@1.17.7

├── sinon-chai@2.14.0

├── sleep@6.3.0

├── socket.io@2.3.0

├── socket.io-client@1.4.8

├── split@1.0.1

├── stf-appstore-db@1.0.0

├── stf-browser-db@1.0.2

├── stf-device-db@1.2.0

├── stf-syrup@1.0.0

├── stf-wiki@1.0.0

├── style-loader@0.13.2

├── swagger-express-mw@0.7.0

├── swagger-tools@0.10.4

├── teen_process@1.15.0

├── temp@0.8.4

├── template-html-loader@0.0.3

├── then-jade@2.4.4

├── transliteration@1.6.6

├── url-join@1.1.0

├── url-loader@0.5.9

├── utf-8-validate@1.2.2

├── uuid@3.4.0

├── UNMET PEER DEPENDENCY webpack@1.15.0

├── webpack-dev-server@3.11.0

├── ws@3.3.3

├── yargs@6.6.0

└── zmq@2.15.3

11、其他问题

(1)zmq 未绑定

在stf根目录:

npm install --save zmq

echo 'require("zmq")' | node

cd node_modules/zmq/; node-gyp configure

(2)执行stf 命令,提示权限不足

chmod 777 路径

(3)移除stf/node_modules

npm install rimraf -g

rimraf node_modules

(4)stf 卸载

npm uninstall -g stf

标签:npm,STF,1.0,stf,loader,brew,install,一机,android
来源: https://www.cnblogs.com/Tanwheey/p/14701568.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有