脚本写的很棒,赞一个!我用 nginx 做负载均衡的时候遇到的两个问题,希望对你有用
1、torage-plugin-apk、storage-plugin-image、storage-temp 这三个最好不要做均衡,因为 nginx 会把文件上传一个 server,而去另外一个 server 拉下来安装,结果拉不到文件,造成安装失败。
2、provider 中的这一段--screen-ws-url-pattern "ws://IP_ADDRESS/d/floor4/<%= serial %>/<%= publicPort %>/",如果用户和 provider 在同一网络,在IP_ADDRESS这里可以直接换成 PROVIDRE_IP_ADDRESS__:<%= publicPort %>,就是直接换成 provder 的 ip 加端口号,这样就不经 nginx 转发了,减少 nginx 的压力。
登录授权不同的公司不一样,所以没有详细介绍,不过可以参考 stf mock 模块
这个我还没发现上限,100 台是没问题的,不够的话可以扩展的
我这里还没找到好的办法
当然要,否则把整个 app 文件夹都删除了
rethinkdb-proxy-28015.service 这个其实只是连接 rethinkdb 的一个代理模块,如果直接写死了 rethinkdb 的地址,可以不用
#35 楼 @liuang68 你的 provider 命令少参数吧,还需要指定--screen-ws-url-pattern,这个是最重要的屏幕图像传输的参数,如果你想用 nginx 反向代理屏幕图像的传输,还要在 nginx.conf 里配置一下代理的参数。可以参考https://testerhome.com/topics/7062 。还有,你的手机是 offline 怎么可能识别
#16 楼 @softblank 无线网络不好,我这边用无线也卡,用有线就好了
我这样也遇到过 hub 的问题,非常奇葩,dell optiplex 3020,ubuntu 系统接 hub,最多识别 9 台手机,再多识别不了,更奇葩的是,dell optiplex 990 ubuntu 可以识别 20 台以上的手机,而 3020 装 windows 系统没有任何问题,所以感觉是 ubuntu 的 usb 驱动有问题。
感觉 Minicap 就像一个水龙头一样不停的往外输出图像,STF 读取输出流,然后封装一下传给用户
请问我用真机时一直报这个错是什么原因,用模拟器是没问题的,真机是 iOS10
https://npm.taobao.org/ 这个是 cnpm 的官网,可以按照教程装,其实直接拉 appium 源码安装也可以的
获取小米和华为的手机可以用
r.db('stf').table('devices').filter(r.row('manufacturer').eq('XIAOMI').or(r.row('manufacturer').eq('HUAWEI')))
获取两个字段
r.db('stf').table('devices').pluck(['serial','manufacturer'])
增加和修改某个字段直接 update({'a':'b'}) 就可以了。如果替换字段中的 json,可以用 r.literal
共同交流
#40 楼 @onlinesen123 这怎么可能,必须安装 stf 环境和 adb,所以最好用 docker,否则就要自己搭环境了
#22 楼 @onlinesen123 想踢掉任何一个占用设备的账号,告诉你一个后门,在 stf 界面 up up down down left right left right enter 就可以开启 admin 模式,可以踢掉任何用户。up 是方向键上,down 是下,enter 是回车
#38 楼 @onlinesen123 在连接手机的电脑上启 provider 和 adb,在服务器上启其他模块,比如 app,websocket 等等,provider 启动的命令可以参考官方:
stf provider \
--name "%H/%i" \
--connect-sub tcp://devside.stf.example.org:7250 \
--connect-push tcp://devside.stf.example.org:7270 \
--storage-url https://stf.example.org/ \
--public-ip ${COREOS_PRIVATE_IPV4} \
--min-port=15000 \
--max-port=25000 \
--heartbeat-interval 10000 \
--screen-ws-url-pattern "wss://stf.example.org/d/%i/<%= serial %>/<%= publicPort %>/"
#35 楼 @onlinesen123 A 上启动 provider,B 上搭建正常的环境就行,B 上有手机就在 B 上也启一个 provider,没有就不用启。