App Inspector 是运行在浏览器端的移动设备 UI 查看器,使用树状态结构查看 UI 布局,并且能自动生成 XPath,方便脚本的编写和生成。

1、安装app-inspector:npm  install  app-inspector  -g

  不需要配置环境变量

  若是要卸载原有的:npm   uninstall   app-inspector   -g

             npm cache clean (清除缓存)

2、使用app-inspector

  打开终端启动服务:输入macaca   server  --verbose

  打开另一个终端:输入app-inspector  -u   设备id

                               设备id通过adb   devices 获取

   然后在浏览器里面打开输出的链接:如 http://192.168.2.100:5678

若是出现以下错误:

C:\Users\abc>app-inspector -u GWY0217406000483
{ Error: Command failed: D:\android-sdk-windows/platform-tools/adb -s GWY0217406000483 shell "pm install -r "/data/local/tmp/com.macaca.android.testin
g""
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.macaca.android.testing signatures do not match the previously installed version; ignoring!] at ChildProcess.exithandler (child_process.js::)
at emitTwo (events.js::)
at ChildProcess.emit (events.js::)
at maybeClose (internal/child_process.js::)
at Process.ChildProcess._handle.onexit (internal/child_process.js::)
killed: false,
code: ,
signal: null,
cmd: 'D:\\android-sdk-windows/platform-tools/adb -s GWY0217406000483 shell "pm install -r "/data/local/tmp/com.macaca.android.testing""' }

解决是将手机上的应用程序给删除,如下图:

  

删除后在执行一遍:

  

  

   点击页面元素,即可获取resource-id和xpath

  若切换页面,需现在手机上切换,然后刷新浏览器,则获取手机的最新页面

安装信息:

C:\Users\yl>npm install uirecorder -g
npm WARN deprecated hawk@3.1.: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs an
d critical security issues.
npm WARN deprecated cryptiles@2.0.: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest ver
sion to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/com
mercial).
npm WARN deprecated hoek@2.16.: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version
to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commerc
ial).
npm WARN deprecated boom@2.10.: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version
to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commerc
ial).
npm WARN deprecated sntp@1.0.: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs an
d critical security issues.
C:\Users\yl\AppData\Roaming\npm\uirecorder -> C:\Users\yl\AppData\Roaming\npm\node_modules\uirecorder\bin\uirecorder
npm WARN update-linked node_modules\uirecorder\node_modules\ansi-styles needs updating to 2.2. from 3.2. but we can't, as it's a symlink
npm WARN update-linked node_modules\uirecorder\node_modules\extsprintf needs updating to 1.3. from 1.4. but we can't, as it's a symlink
npm WARN update-linked node_modules\uirecorder\node_modules\strip-ansi needs updating to 3.0. from 4.0. but we can't, as it's a symlink
npm WARN update-linked node_modules\uirecorder\node_modules\chalk needs updating to 1.1. from 2.4. but we can't, as it's a symlink
npm WARN update-linked node_modules\uirecorder\node_modules\readable-stream needs updating to 2.3. from 3.3. but we can't, as it's a symlink
npm WARN update-linked node_modules\uirecorder\node_modules\fstream needs updating to 1.0. from 1.0. but we can't, as it's a symlink
npm WARN update-linked node_modules\uirecorder\node_modules\jwebdriver needs updating to 2.3. from 2.2. but we can't, as it's a symlink > chromedriver@2.46. install C:\Users\yl\AppData\Roaming\npm\node_modules\uirecorder\node_modules\chromedriver
> node install.js ChromeDriver binary exists. Validating...
ChromeDriver 2.46. (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) ChromeDriver is already available at 'C:\Users\yl\AppData\Local\Temp\2.46\chromedriver\chromedriver.exe'.
Copying to target path C:\Users\yl\AppData\Roaming\npm\node_modules\uirecorder\node_modules\chromedriver\lib\chromedriver
Done. ChromeDriver binary available at C:\Users\yl\AppData\Roaming\npm\node_modules\uirecorder\node_modules\chromedriver\lib\chromedriver\chromedriver.exe > websocket@1.0. install C:\Users\yl\AppData\Roaming\npm\node_modules\uirecorder\node_modules\websocket
> (node-gyp rebuild > builderror.log) || (exit ) C:\Users\yl\AppData\Roaming\npm\node_modules\uirecorder\node_modules\websocket>if not defined npm_config_node_gyp (node "C:\Users\yl\AppData\Roaming\npm\n
ode_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
- delegates@1.0. node_modules\uirecorder\node_modules\_are-we-there-yet@1.1.@are-we-there-yet\node_modules\delegates
- array-uniq@1.0. node_modules\uirecorder\node_modules\_array-union@1.0.@array-union\node_modules\array-uniq
- lodash@4.17. node_modules\uirecorder\node_modules\_async@2.1.@async\node_modules\lodash
- tweetnacl@0.14. node_modules\uirecorder\node_modules\_bcrypt-pbkdf@1.0.@bcrypt-pbkdf\node_modules\tweetnacl
- hoek@2.16. node_modules\uirecorder\node_modules\_boom@2.10.@boom\node_modules\hoek
- balanced-match@1.0. node_modules\uirecorder\node_modules\_brace-expansion@1.1.@brace-expansion\node_modules\balanced-match
- concat-map@0.0. node_modules\uirecorder\node_modules\_brace-expansion@1.1.@brace-expansion\node_modules\concat-map
- assertion-error@1.1. node_modules\uirecorder\node_modules\_chai@3.5.@chai\node_modules\assertion-error
- type-detect@1.0. node_modules\uirecorder\node_modules\_chai@3.5.@chai\node_modules\type-detect
- escape-string-regexp@1.0. node_modules\uirecorder\node_modules\_chalk@2.4.@chalk\node_modules\escape-string-regexp
- graceful-fs@4.1. node_modules\uirecorder\node_modules\_cmd-shim@2.0.@cmd-shim\node_modules\graceful-fs
- co-thread@0.0. node_modules\uirecorder\node_modules\_co-parallel@1.0.@co-parallel\node_modules\co-thread
- color-convert@1.9. node_modules\uirecorder\node_modules\_ansi-styles@3.2.@ansi-styles\node_modules\color-convert
- ansi-styles@3.2. node_modules\uirecorder\node_modules\_chalk@2.4.@chalk\node_modules\ansi-styles
- delayed-stream@1.0. node_modules\uirecorder\node_modules\_combined-stream@1.0.@combined-stream\node_modules\delayed-stream
- boom@2.10. node_modules\uirecorder\node_modules\_cryptiles@2.0.@cryptiles\node_modules\boom
- type-detect@0.1. node_modules\uirecorder\node_modules\_deep-eql@0.1.@deep-eql\node_modules\type-detect
- deep-eql@0.1. node_modules\uirecorder\node_modules\_chai@3.5.@chai\node_modules\deep-eql
- ast-types@0.12. node_modules\uirecorder\node_modules\_degenerator@1.0.@degenerator\node_modules\ast-types
- esprima@3.1. node_modules\uirecorder\node_modules\_degenerator@1.0.@degenerator\node_modules\esprima
- jsbn@0.1. node_modules\uirecorder\node_modules\_ecc-jsbn@0.1.@ecc-jsbn\node_modules\jsbn
- safer-buffer@2.1. node_modules\uirecorder\node_modules\_ecc-jsbn@0.1.@ecc-jsbn\node_modules\safer-buffer
- is-arrayish@0.2. node_modules\uirecorder\node_modules\_error-ex@1.3.@error-ex\node_modules\is-arrayish
- es6-promisify@5.0. node_modules\uirecorder\node_modules\_agent-base@4.2.@agent-base\node_modules\es6-promisify
- esprima@3.1. node_modules\uirecorder\node_modules\_escodegen@1.11.@escodegen\node_modules\esprima
- estraverse@4.2. node_modules\uirecorder\node_modules\_escodegen@1.11.@escodegen\node_modules\estraverse
- esutils@2.0. node_modules\uirecorder\node_modules\_escodegen@1.11.@escodegen\node_modules\esutils
- source-map@0.6. node_modules\uirecorder\node_modules\_escodegen@1.11.@escodegen\node_modules\source-map
- chardet@0.4. node_modules\uirecorder\node_modules\_external-editor@2.2.@external-editor\node_modules\chardet
- debug@2.6. node_modules\uirecorder\node_modules\_extract-zip@1.6.@extract-zip\node_modules\debug
- graceful-fs@4.1. node_modules\uirecorder\node_modules\_fs-extra@0.26.@fs-extra\node_modules\graceful-fs
- path-is-absolute@1.0. node_modules\uirecorder\node_modules\_fs-extra@0.26.@fs-extra\node_modules\path-is-absolute
- graceful-fs@4.1. node_modules\uirecorder\node_modules\_fstream@1.0.@fstream\node_modules\graceful-fs
- inherits@2.0. node_modules\uirecorder\node_modules\_fstream@1.0.@fstream\node_modules\inherits
- xregexp@2.0. node_modules\uirecorder\node_modules\_ftp@0.3.@ftp\node_modules\xregexp
- aproba@1.2. node_modules\uirecorder\node_modules\_gauge@2.7.@gauge\node_modules\aproba
- console-control-strings@1.1. node_modules\uirecorder\node_modules\_gauge@2.7.@gauge\node_modules\console-control-strings
- has-unicode@2.0. node_modules\uirecorder\node_modules\_gauge@2.7.@gauge\node_modules\has-unicode
- object-assign@4.1. node_modules\uirecorder\node_modules\_gauge@2.7.@gauge\node_modules\object-assign
- signal-exit@3.0. node_modules\uirecorder\node_modules\_gauge@2.7.@gauge\node_modules\signal-exit
- is-property@1.0. node_modules\uirecorder\node_modules\_generate-function@2.3.@generate-function\node_modules\is-property
- data-uri-to-buffer@2.0. node_modules\uirecorder\node_modules\_get-uri@2.0.@get-uri\node_modules\data-uri-to-buffer
- extend@3.0. node_modules\uirecorder\node_modules\_get-uri@2.0.@get-uri\node_modules\extend
- file-uri-to-path@1.0. node_modules\uirecorder\node_modules\_get-uri@2.0.@get-uri\node_modules\file-uri-to-path
- ftp@0.3. node_modules\uirecorder\node_modules\_get-uri@2.0.@get-uri\node_modules\ftp
- array-union@1.0. node_modules\uirecorder\node_modules\_globby@6.1.@globby\node_modules\array-union
- object-assign@4.1. node_modules\uirecorder\node_modules\_globby@6.1.@globby\node_modules\object-assign
- pify@2.3. node_modules\uirecorder\node_modules\_globby@6.1.@globby\node_modules\pify
- array-parallel@0.1. node_modules\uirecorder\node_modules\_gm@1.23.@gm\node_modules\array-parallel
- array-series@0.1. node_modules\uirecorder\node_modules\_gm@1.23.@gm\node_modules\array-series
- commander@2.20. node_modules\uirecorder\node_modules\_har-validator@2.0.@har-validator\node_modules\commander
- ansi-regex@2.1. node_modules\uirecorder\node_modules\_has-ansi@2.0.@has-ansi\node_modules\ansi-regex
- has-ansi@2.0. node_modules\uirecorder\node_modules\_chalk@1.1.@chalk\node_modules\has-ansi
- ms@2.1. node_modules\uirecorder\node_modules\_humanize-ms@1.2.@humanize-ms\node_modules\ms
- humanize-ms@1.2. node_modules\uirecorder\node_modules\_agentkeepalive@3.5.@agentkeepalive\node_modules\humanize-ms
- iconv-lite@0.4. node_modules\uirecorder\node_modules\_external-editor@2.2.@external-editor\node_modules\iconv-lite
- number-is-nan@1.0. node_modules\uirecorder\node_modules\_is-fullwidth-code-point@1.0.@is-fullwidth-code-point\node_modules\number-is-nan
- is-my-json-valid@2.20. node_modules\uirecorder\node_modules\_har-validator@2.0.@har-validator\node_modules\is-my-json-valid
- graceful-fs@4.1. node_modules\uirecorder\node_modules\_jsonfile@2.4.@jsonfile\node_modules\graceful-fs
- jsonfile@2.4. node_modules\uirecorder\node_modules\_fs-extra@0.26.@fs-extra\node_modules\jsonfile
- assert-plus@1.0. node_modules\uirecorder\node_modules\_jsprim@1.4.@jsprim\node_modules\assert-plus
- extsprintf@1.3. node_modules\uirecorder\node_modules\_jsprim@1.4.@jsprim\node_modules\extsprintf
- json-schema@0.2. node_modules\uirecorder\node_modules\_jsprim@1.4.@jsprim\node_modules\json-schema
- pako@0.2. node_modules\uirecorder\node_modules\_jszip@2.5.@jszip\node_modules\pako
- xtend@4.0. node_modules\uirecorder\node_modules\_jwebdriver@2.2.@jwebdriver\node_modules\xtend
- klaw@1.3. node_modules\uirecorder\node_modules\_fs-extra@0.26.@fs-extra\node_modules\klaw
- invert-kv@1.0. node_modules\uirecorder\node_modules\_lcid@1.0.@lcid\node_modules\invert-kv
- prelude-ls@1.1. node_modules\uirecorder\node_modules\_levn@0.3.@levn\node_modules\prelude-ls
- lru-cache@4.1. node_modules\uirecorder\node_modules\_cross-spawn@4.0.@cross-spawn\node_modules\lru-cache
- minimist@1.2. node_modules\uirecorder\node_modules\_make-plural@3.0.@make-plural\node_modules\minimist
- xregexp@2.0. node_modules\uirecorder\node_modules\_math-interval-parser@1.1.@math-interval-parser\node_modules\xregexp
- mkdirp@0.5. node_modules\uirecorder\node_modules\_cmd-shim@2.0.@cmd-shim\node_modules\mkdirp
- mkdirp@0.5. node_modules\uirecorder\node_modules\_extract-zip@1.6.@extract-zip\node_modules\mkdirp
- mkdirp@0.5. node_modules\uirecorder\node_modules\_fstream@1.0.@fstream\node_modules\mkdirp
- any-promise@1.3. node_modules\uirecorder\node_modules\_mz@2.7.@mz\node_modules\any-promise
- object-assign@4.1. node_modules\uirecorder\node_modules\_mz@2.7.@mz\node_modules\object-assign
- jszip@2.5. node_modules\uirecorder\node_modules\_node-zip@1.1.@node-zip\node_modules\jszip
- node-zip@1.1. node_modules\uirecorder\node_modules\_jwebdriver@2.2.@jwebdriver\node_modules\node-zip
- wrappy@1.0. node_modules\uirecorder\node_modules\_once@1.4.@once\node_modules\wrappy
- once@1.4. node_modules\uirecorder\node_modules\_end-of-stream@1.4.@end-of-stream\node_modules\once
- glob@7.1. node_modules\uirecorder\node_modules\_globby@6.1.@globby\node_modules\glob
- mimic-fn@1.2. node_modules\uirecorder\node_modules\_onetime@2.0.@onetime\node_modules\mimic-fn
- cli-spinners@1.3. node_modules\uirecorder\node_modules\_ora@1.4.@ora\node_modules\cli-spinners
- log-symbols@2.2. node_modules\uirecorder\node_modules\_ora@1.4.@ora\node_modules\log-symbols
- minimist@1.2. node_modules\uirecorder\node_modules\_osx-release@1.1.@osx-release\node_modules\minimist
- pinkie-promise@2.0. node_modules\uirecorder\node_modules\_globby@6.1.@globby\node_modules\pinkie-promise
- pinkie-promise@2.0. node_modules\uirecorder\node_modules\_har-validator@2.0.@har-validator\node_modules\pinkie-promise
- co@4.6. node_modules\uirecorder\node_modules\_promiseclass@1.0.@promiseclass\node_modules\co
- promiseclass@1.0. node_modules\uirecorder\node_modules\_jwebdriver@2.2.@jwebdriver\node_modules\promiseclass
- core-util-is@1.0. node_modules\uirecorder\node_modules\_readable-stream@2.3.@readable-stream\node_modules\core-util-is
- inherits@2.0. node_modules\uirecorder\node_modules\_readable-stream@2.3.@readable-stream\node_modules\inherits
- isarray@1.0. node_modules\uirecorder\node_modules\_readable-stream@2.3.@readable-stream\node_modules\isarray
- process-nextick-args@2.0. node_modules\uirecorder\node_modules\_readable-stream@2.3.@readable-stream\node_modules\process-nextick-args
- safe-buffer@5.1. node_modules\uirecorder\node_modules\_readable-stream@2.3.@readable-stream\node_modules\safe-buffer
- util-deprecate@1.0. node_modules\uirecorder\node_modules\_readable-stream@2.3.@readable-stream\node_modules\util-deprecate
- stringstream@0.0. node_modules\uirecorder\node_modules\_request@2.79.@request\node_modules\stringstream
- jpeg-js@0.2. node_modules\uirecorder\node_modules\_resemblejs-node@1.0.@resemblejs-node\node_modules\jpeg-js
- pngjs@3.2. node_modules\uirecorder\node_modules\_resemblejs-node@1.0.@resemblejs-node\node_modules\pngjs
- cli-cursor@2.1. node_modules\uirecorder\node_modules\_ora@1.4.@ora\node_modules\cli-cursor
- rimraf@2.6. node_modules\uirecorder\node_modules\_fs-extra@0.26.@fs-extra\node_modules\rimraf
- rimraf@2.6. node_modules\uirecorder\node_modules\_fstream@1.0.@fstream\node_modules\rimraf
- is-promise@2.1. node_modules\uirecorder\node_modules\_run-async@2.3.@run-async\node_modules\is-promise
- debug@2.6. node_modules\uirecorder\node_modules\_runscript@1.3.@runscript\node_modules\debug
- is-type-of@1.2. node_modules\uirecorder\node_modules\_runscript@1.3.@runscript\node_modules\is-type-of
- graceful-fs@4.1. node_modules\uirecorder\node_modules\_safefs@3.2.@safefs\node_modules\graceful-fs
- hoek@2.16. node_modules\uirecorder\node_modules\_sntp@1.0.@sntp\node_modules\hoek
- hawk@3.1. node_modules\uirecorder\node_modules\_request@2.79.@request\node_modules\hawk
- asn1@0.2. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\asn1
- assert-plus@1.0. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\assert-plus
- bcrypt-pbkdf@1.0. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\bcrypt-pbkdf
- dashdash@1.14. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\dashdash
- ecc-jsbn@0.1. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\ecc-jsbn
- getpass@0.1. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\getpass
- jsbn@0.1. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\jsbn
- safer-buffer@2.1. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\safer-buffer
- tweetnacl@0.14. node_modules\uirecorder\node_modules\_sshpk@1.16.@sshpk\node_modules\tweetnacl
- string_decoder@1.1. node_modules\uirecorder\node_modules\_readable-stream@2.3.@readable-stream\node_modules\string_decoder
- readable-stream@2.3. node_modules\uirecorder\node_modules\_are-we-there-yet@1.1.@are-we-there-yet\node_modules\readable-stream
- concat-stream@1.6. node_modules\uirecorder\node_modules\_extract-zip@1.6.@extract-zip\node_modules\concat-stream
- readable-stream@2.3. node_modules\uirecorder\node_modules\_duplexer2@0.1.@duplexer2\node_modules\readable-stream
- code-point-at@1.1. node_modules\uirecorder\node_modules\_string-width@1.0.@string-width\node_modules\code-point-at
- ansi-regex@2.1. node_modules\uirecorder\node_modules\_strip-ansi@3.0.@strip-ansi\node_modules\ansi-regex
- strip-ansi@3.0. node_modules\uirecorder\node_modules\_chalk@1.1.@chalk\node_modules\strip-ansi
- chalk@1.1. node_modules\uirecorder\node_modules\_har-validator@2.0.@har-validator\node_modules\chalk
- strip-ansi@3.0. node_modules\uirecorder\node_modules\_gauge@2.7.@gauge\node_modules\strip-ansi
- supports-color@5.5. node_modules\uirecorder\node_modules\_chalk@2.4.@chalk\node_modules\supports-color
- chalk@2.4. node_modules\uirecorder\node_modules\_ora@1.4.@ora\node_modules\chalk
- any-promise@1.3. node_modules\uirecorder\node_modules\_thenify@3.3.@thenify\node_modules\any-promise
- thenify-all@1.6. node_modules\uirecorder\node_modules\_mz@2.7.@mz\node_modules\thenify-all
- enable@1.3. node_modules\uirecorder\node_modules\_thunkify-wrap@1.0.@thunkify-wrap\node_modules\enable
- os-tmpdir@1.0. node_modules\uirecorder\node_modules\_tmp@0.0.@tmp\node_modules\os-tmpdir
- tmp@0.0. node_modules\uirecorder\node_modules\_external-editor@2.2.@external-editor\node_modules\tmp
- safe-buffer@5.1. node_modules\uirecorder\node_modules\_tunnel-agent@0.6.@tunnel-agent\node_modules\safe-buffer
- prelude-ls@1.1. node_modules\uirecorder\node_modules\_type-check@0.3.@type-check\node_modules\prelude-ls
- type-check@0.3. node_modules\uirecorder\node_modules\_levn@0.3.@levn\node_modules\type-check
- optionator@0.8. node_modules\uirecorder\node_modules\_escodegen@1.11.@escodegen\node_modules\optionator
- escodegen@1.11. node_modules\uirecorder\node_modules\_degenerator@1.0.@degenerator\node_modules\escodegen
- editions@2.1. node_modules\uirecorder\node_modules\_typechecker@4.7.@typechecker\node_modules\editions
- is-typedarray@1.0. node_modules\uirecorder\node_modules\_typedarray-to-buffer@3.0.@typedarray-to-buffer\node_modules\is-typedarray
- punycode@2.1. node_modules\uirecorder\node_modules\_uri-js@4.2.@uri-js\node_modules\punycode
- any-promise@1.3. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\any-promise
- content-type@1.0. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\content-type
- debug@2.6. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\debug
- digest-header@0.0. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\digest-header
- ee-first@1.1. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\ee-first
- formstream@1.1. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\formstream
- humanize-ms@1.2. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\humanize-ms
- iconv-lite@0.4. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\iconv-lite
- ip@1.1. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\ip
- proxy-agent@3.1. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\proxy-agent
- pump@3.0. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\pump
- qs@6.7. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\qs
- statuses@1.5. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\statuses
- address@1.1. node_modules\uirecorder\node_modules\_utility@0.1.@utility\node_modules\address
- utility@1.16. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\utility
- verror@1.10. node_modules\uirecorder\node_modules\_jsprim@1.4.@jsprim\node_modules\verror
- which@1.3. node_modules\uirecorder\node_modules\_cross-spawn@4.0.@cross-spawn\node_modules\which
- cross-spawn@4.0. node_modules\uirecorder\node_modules\_gm@1.23.@gm\node_modules\cross-spawn
- gm@1.23. node_modules\uirecorder\node_modules\_jwebdriver@2.2.@jwebdriver\node_modules\gm
- wide-align@1.1. node_modules\uirecorder\node_modules\_gauge@2.7.@gauge\node_modules\wide-align
- os-name@1.0. node_modules\uirecorder\node_modules\_default-user-agent@1.0.@default-user-agent\node_modules\os-name
- default-user-agent@1.0. node_modules\uirecorder\node_modules\_urllib@2.34.@urllib\node_modules\default-user-agent
- yauzl@2.4. node_modules\uirecorder\node_modules\_extract-zip@1.6.@extract-zip\node_modules\yauzl
- _@types_node@8.10.@@types node_modules\uirecorder\node_modules\_@types_node@8.10.@@types
C:\Users\yl\AppData\Roaming\npm
`-- uirecorder@2.6.
+-- async@2.1.
| `-- lodash@4.17.
+-- chai@3.5.
| `-- type-detect@1.0.
+-- chromedriver@2.46.
| +-- del@3.0.
| | +-- globby@6.1.
| | | +-- array-union@1.0.
| | | | `-- array-uniq@1.0.
| | | +-- glob@7.1. deduped
| | | +-- object-assign@4.1. deduped
| | | `-- pinkie-promise@2.0.
| | +-- is-path-cwd@1.0.
| | +-- is-path-in-cwd@1.0.
| | | `-- is-path-inside@1.0.
| | | `-- path-is-inside@1.0.
| | +-- p-map@1.2.
| | +-- pify@3.0.
| | `-- rimraf@2.6. deduped
| +-- extract-zip@1.6.
| | +-- concat-stream@1.6.
| | | +-- buffer-from@1.1.
| | | +-- inherits@2.0. deduped
| | | +-- readable-stream@2.3.
| | | | +-- core-util-is@1.0. deduped
| | | | +-- inherits@2.0. deduped
| | | | +-- isarray@1.0.
| | | | +-- process-nextick-args@2.0.
| | | | `-- string_decoder@1.1.
| | | `-- typedarray@0.0.
| | +-- debug@2.6. deduped
| | +-- mkdirp@0.5. deduped
| | `-- yauzl@2.4.
| | `-- fd-slicer@1.0.
| | `-- pend@1.2.
| +-- mkdirp@0.5.
| | `-- minimist@0.0.
| +-- request@2.88.
| | +-- aws-sign2@0.7.
| | +-- caseless@0.12.
| | +-- combined-stream@1.0.
| | | `-- delayed-stream@1.0.
| | +-- form-data@2.3.
| | | +-- asynckit@0.4.
| | | `-- mime-types@2.1. deduped
| | +-- har-validator@5.1.
| | | +-- ajv@6.10.
| | | | +-- fast-deep-equal@2.0.
| | | | `-- uri-js@4.2.
| | | | `-- punycode@2.1.
| | | `-- har-schema@2.0.
| | +-- http-signature@1.2.
| | | +-- jsprim@1.4.
| | | | +-- json-schema@0.2.
| | | | `-- verror@1.10.
| | | | `-- core-util-is@1.0. deduped
| | | `-- sshpk@1.16.
| | | +-- asn1@0.2.
| | | +-- dashdash@1.14.
| | | +-- ecc-jsbn@0.1.
| | | | `-- jsbn@0.1. deduped
| | | +-- getpass@0.1.
| | | `-- jsbn@0.1.
| | +-- is-typedarray@1.0.
| | +-- mime-types@2.1.
| | | `-- mime-db@1.40.
| | +-- oauth-sign@0.9.
| | +-- qs@6.5.
| | +-- tough-cookie@2.4.
| | `-- uuid@3.3. deduped
| `-- tcp-port-used@1.0.
| +-- debug@4.1.
| | `-- ms@2.1.
| `-- is2@2.0.
| +-- deep-is@0.1.
| +-- ip-regex@2.1.
| `-- is-url@1.2.
+-- co@4.6.
+-- commander@2.9.
+-- fs-extra@1.0.
| +-- graceful-fs@4.1.
| +-- jsonfile@2.4.
| | `-- graceful-fs@4.1. deduped
| `-- klaw@1.3.
| `-- graceful-fs@4.1. deduped
+-- i18n@0.8.
| +-- debug@2.6.
| | `-- ms@2.0. deduped
| +-- math-interval-parser@1.1.
| | `-- xregexp@2.0.
| +-- messageformat@0.3.
| | +-- glob@6.0.
| | | +-- inflight@1.0.
| | | | `-- wrappy@1.0.
| | | +-- inherits@2.0. deduped
| | | +-- minimatch@3.0.
| | | +-- once@1.4.
| | | | `-- wrappy@1.0. deduped
| | | `-- path-is-absolute@1.0.
| | +-- nopt@3.0.
| | | `-- abbrev@1.1.
| | `-- watchr@2.4.
| | +-- eachr@2.0.
| | | `-- typechecker@2.1. deduped
| | +-- extendr@2.1.
| | +-- ignorefs@1.2.
| | | `-- editions@1.3.
| | +-- safefs@3.2.
| | | `-- graceful-fs@4.1. deduped
| | +-- scandirectory@2.5.
| | | +-- ignorefs@1.2. deduped
| | | `-- taskgroup@4.3. deduped
| | +-- taskgroup@4.3.
| | | `-- ambi@2.5.
| | | +-- editions@1.3. deduped
| | | `-- typechecker@4.7.
| | | `-- editions@2.1.
| | | +-- errlop@1.1.
| | | | `-- editions@2.1.
| | | | +-- errlop@1.1. deduped
| | | | `-- semver@5.7.
| | | `-- semver@5.7.
| | `-- typechecker@2.1.
| `-- mustache@3.0.
+-- inquirer@3.0.
| +-- chalk@1.1.
| | +-- has-ansi@2.0.
| | | `-- ansi-regex@2.1. deduped
| | `-- supports-color@2.0.
| +-- cli-cursor@2.1.
| | `-- restore-cursor@2.0.
| | `-- signal-exit@3.0.
| +-- external-editor@2.2.
| | +-- chardet@0.4.
| | `-- iconv-lite@0.4.
| +-- figures@2.0.
| +-- lodash@4.17. deduped
| +-- mute-stream@0.0.
| +-- run-async@2.3.
| | `-- is-promise@2.1.
| +-- string-width@2.1.
| | `-- strip-ansi@4.0.
| | `-- ansi-regex@3.0.
| `-- strip-ansi@3.0.
| `-- ansi-regex@2.1.
+-- jwebdriver@2.3.
| +-- gm@1.23.
| | +-- array-series@0.1.
| | +-- cross-spawn@4.0.
| | | +-- lru-cache@4.1.
| | | `-- which@1.3. deduped
| | `-- debug@2.2.
| | `-- ms@0.7.
| +-- node-zip@1.1.
| | `-- jszip@2.5.
| | `-- pako@0.2.
| +-- promiseclass@1.0.
| | `-- co@4.6. deduped
| +-- request@2.79.
| | +-- aws-sign2@0.6.
| | +-- caseless@0.11.
| | +-- form-data@2.1.
| | | +-- asynckit@0.4. deduped
| | | `-- mime-types@2.1. deduped
| | +-- har-validator@2.0.
| | | +-- commander@2.9. deduped
| | | +-- is-my-json-valid@2.20.
| | | | +-- generate-function@2.3.
| | | | | `-- is-property@1.0.
| | | | +-- generate-object-property@1.2.
| | | | | `-- is-property@1.0. deduped
| | | | +-- is-my-ip-valid@1.0.
| | | | `-- xtend@4.0. deduped
| | | `-- pinkie-promise@2.0. deduped
| | +-- hawk@3.1.
| | | +-- boom@2.10.
| | | | `-- hoek@2.16. deduped
| | | +-- hoek@2.16.
| | | `-- sntp@1.0.
| | | `-- hoek@2.16. deduped
| | +-- http-signature@1.1.
| | | `-- assert-plus@0.2.
| | +-- is-typedarray@1.0. deduped
| | +-- mime-types@2.1. deduped
| | +-- oauth-sign@0.8.
| | +-- qs@6.3.
| | +-- stringstream@0.0.
| | +-- tough-cookie@2.3.
| | | `-- punycode@1.4.
| | +-- tunnel-agent@0.4.
| | `-- uuid@3.3. deduped
| `-- xtend@4.0.
+-- latest-version@2.0.
| `-- package-json@2.4.
| +-- got@5.7.
| | +-- create-error-class@3.0.
| | | `-- capture-stack-trace@1.0.
| | +-- is-redirect@1.0.
| | +-- is-retry-allowed@1.1.
| | +-- lowercase-keys@1.0.
| | +-- object-assign@4.1. deduped
| | +-- parse-json@2.2.
| | +-- pinkie-promise@2.0. deduped
| | +-- read-all-stream@3.1.
| | | `-- pinkie-promise@2.0. deduped
| | +-- timed-out@3.1.
| | +-- unzip-response@1.0.
| | `-- url-parse-lax@1.0.
| +-- registry-auth-token@3.4.
| | `-- rc@1.2.
| | `-- deep-extend@0.6.
| +-- registry-url@3.1.
| | `-- rc@1.2. deduped
| `-- semver@5.3. deduped
+-- npminstall@3.1.
| +-- agentkeepalive@3.5.
| | `-- humanize-ms@1.2.
| | `-- ms@2.0. deduped
| +-- await-event@2.1.
| +-- binary-mirror-config@1.20.
| +-- bytes@2.5.
| +-- cmd-shim@2.0.
| | +-- graceful-fs@4.1. deduped
| | `-- mkdirp@0.5. deduped
| +-- co@4.6. deduped
| +-- co-fs-extra@1.2.
| | +-- co-from-stream@0.0.
| | +-- fs-extra@0.26.
| | | +-- graceful-fs@4.1. deduped
| | | +-- klaw@1.3. deduped
| | | +-- path-is-absolute@1.0. deduped
| | | `-- rimraf@2.6. deduped
| | `-- thunkify-wrap@1.0.
| | `-- enable@1.3.
| +-- debug@2.6. deduped
| +-- mkdirp@0.5. deduped
| +-- ms@2.0.
| +-- mz@2.7.
| | +-- any-promise@1.3.
| | +-- object-assign@4.1.
| | `-- thenify-all@1.6.
| | `-- thenify@3.3.
| | `-- any-promise@1.3. deduped
| +-- node-gyp@3.8.
| | +-- fstream@1.0.
| | | +-- graceful-fs@4.1. deduped
| | | +-- inherits@2.0. deduped
| | | +-- mkdirp@0.5. deduped
| | | `-- rimraf@2.6. deduped
| | +-- glob@7.1.
| | | +-- fs.realpath@1.0.
| | | +-- inflight@1.0. deduped
| | | +-- inherits@2.0. deduped
| | | +-- minimatch@3.0. deduped
| | | `-- path-is-absolute@1.0. deduped
| | +-- graceful-fs@4.1. deduped
| | +-- mkdirp@0.5. deduped
| | +-- nopt@3.0. deduped
| | +-- npmlog@4.1.
| | | +-- are-we-there-yet@1.1.
| | | | `-- delegates@1.0.
| | | `-- gauge@2.7.
| | | +-- has-unicode@2.0.
| | | +-- object-assign@4.1. deduped
| | | +-- signal-exit@3.0. deduped
| | | +-- string-width@1.0.
| | | | `-- is-fullwidth-code-point@1.0.
| | | `-- wide-align@1.1.
| | | `-- string-width@2.1. deduped
| | +-- osenv@0.1.
| | | `-- os-homedir@1.0.
| | +-- request@2.88. deduped
| | +-- rimraf@2.6. deduped
| | +-- semver@5.3. deduped
| | +-- tar@2.2. deduped
| | `-- which@1.3.
| | `-- isexe@2.0.
| +-- normalize-package-data@2.5.
| | +-- resolve@1.10.
| | +-- semver@5.3. deduped
| | `-- validate-npm-package-license@3.0.
| | +-- spdx-correct@3.1.
| | | +-- spdx-expression-parse@3.0. deduped
| | | `-- spdx-license-ids@3.0.
| | `-- spdx-expression-parse@3.0.
| | `-- spdx-license-ids@3.0. deduped
| +-- npm-package-arg@4.2.
| | `-- semver@5.3. deduped
| +-- ora@1.4.
| | +-- chalk@2.4.
| | | +-- ansi-styles@3.2.
| | | | `-- color-convert@1.9.
| | | | `-- color-name@1.1.
| | | `-- supports-color@5.5.
| | +-- cli-cursor@2.1. deduped
| | +-- cli-spinners@1.3.
| | `-- log-symbols@2.2.
| | `-- chalk@2.4.
| | +-- ansi-styles@3.2.
| | | `-- color-convert@1.9. deduped
| | `-- supports-color@5.5.
| +-- rimraf@2.6.
| | `-- glob@7.1. deduped
| +-- runscript@1.3.
| | +-- debug@2.6. deduped
| | `-- is-type-of@1.2.
| | `-- core-util-is@1.0.
| +-- semver@5.3. deduped
| +-- tar@2.2.
| | +-- block-stream@0.0.
| | | `-- inherits@2.0. deduped
| | `-- inherits@2.0.
| +-- urllib@2.34.
| | +-- any-promise@1.3. deduped
| | +-- debug@2.6. deduped
| | +-- default-user-agent@1.0.
| | | `-- os-name@1.0.
| | | `-- win-release@1.1.
| | | `-- semver@5.3. deduped
| | +-- digest-header@0.0.
| | | `-- utility@0.1.
| | | `-- address@1.1.
| | +-- ee-first@1.1.
| | +-- formstream@1.1.
| | | +-- mime@1.6.
| | | `-- pause-stream@0.0.
| | +-- iconv-lite@0.4. deduped
| | +-- proxy-agent@3.1.
| | | +-- agent-base@4.2.
| | | | `-- es6-promisify@5.0.
| | | +-- debug@3.2.
| | | | `-- ms@2.1.
| | | +-- http-proxy-agent@2.1.
| | | | `-- debug@3.1.
| | | | `-- ms@2.0. deduped
| | | +-- https-proxy-agent@2.2.
| | | | `-- debug@3.2.
| | | | `-- ms@2.1.
| | | +-- lru-cache@4.1. deduped
| | | +-- pac-proxy-agent@3.0.
| | | | +-- debug@3.2.
| | | | | `-- ms@2.1.
| | | | +-- get-uri@2.0.
| | | | | +-- data-uri-to-buffer@2.0.
| | | | | +-- debug@4.1.
| | | | | | `-- ms@2.1.
| | | | | +-- file-uri-to-path@1.0.
| | | | | +-- ftp@0.3.
| | | | | | +-- readable-stream@1.1.
| | | | | | | +-- core-util-is@1.0. deduped
| | | | | | | +-- inherits@2.0. deduped
| | | | | | | +-- isarray@0.0.
| | | | | | | `-- string_decoder@0.10.
| | | | | | `-- xregexp@2.0. deduped
| | | | | `-- readable-stream@3.3.
| | | | | +-- inherits@2.0. deduped
| | | | | `-- string_decoder@1.1. deduped
| | | | +-- http-proxy-agent@2.1. deduped
| | | | +-- https-proxy-agent@2.2. deduped
| | | | +-- pac-resolver@3.0.
| | | | | +-- co@4.6. deduped
| | | | | +-- degenerator@1.0.
| | | | | | `-- escodegen@1.11.
| | | | | | +-- esutils@2.0.
| | | | | | +-- optionator@0.8.
| | | | | | | +-- deep-is@0.1. deduped
| | | | | | | +-- levn@0.3.
| | | | | | | | `-- prelude-ls@1.1. deduped
| | | | | | | +-- prelude-ls@1.1.
| | | | | | | +-- type-check@0.3.
| | | | | | | | `-- prelude-ls@1.1. deduped
| | | | | | | `-- wordwrap@1.0.
| | | | | | `-- source-map@0.6.
| | | | | `-- thunkify@2.1.
| | | | +-- raw-body@2.4.
| | | | | +-- http-errors@1.7.
| | | | | | +-- depd@1.1.
| | | | | | +-- inherits@2.0. deduped
| | | | | | +-- setprototypeof@1.1.
| | | | | | `-- statuses@1.5. deduped
| | | | | `-- iconv-lite@0.4. deduped
| | | | `-- socks-proxy-agent@4.0. deduped
| | | +-- proxy-from-env@1.0.
| | | `-- socks-proxy-agent@4.0.
| | | `-- socks@2.3.
| | +-- pump@3.0.
| | +-- qs@6.5. deduped
| | +-- statuses@1.5.
| | `-- utility@1.16. deduped
| +-- utility@1.16.
| | +-- escape-html@1.0.
| | +-- mkdirp@0.5. deduped
| | `-- unescape@1.0.
| | `-- extend-shallow@2.0.
| `-- uuid@3.3.
+-- os-locale@1.4.
| `-- lcid@1.0.
| `-- invert-kv@1.0.
+-- semver@5.3.
`-- websocket@1.0.
+-- debug@2.2.
| `-- ms@0.7.
+-- typedarray-to-buffer@3.0.
| `-- is-typedarray@1.0. deduped
`-- yaeti@0.0. C:\Users\yl>app-inspector -u WTKDU17111000609 --verbose C:\Users\yl>npm install app-inspector -g
npm WARN deprecated tough-cookie@2.2.: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130
npm WARN deprecated hawk@3.1.: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs an
d critical security issues.
npm WARN deprecated node-uuid@1.4.: Use uuid module instead
npm WARN deprecated boom@2.10.: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version
to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commerc
ial).
npm WARN deprecated cryptiles@2.0.: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest ver
sion to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/com
mercial).
npm WARN deprecated sntp@1.0.: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs an
d critical security issues.
npm WARN deprecated hoek@2.16.: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version
to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commerc
ial).
npm WARN deprecated node-uuid@1.4.: Use uuid module instead
C:\Users\yl\AppData\Roaming\npm\app-inspector -> C:\Users\yl\AppData\Roaming\npm\node_modules\app-inspector\bin\app-inspector.js
C:\Users\yl\AppData\Roaming\npm\inspector -> C:\Users\yl\AppData\Roaming\npm\node_modules\app-inspector\bin\app-inspector.js
C:\Users\yl\AppData\Roaming\npm
`-- app-inspector@2.0. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0. (node_modules\app-inspector\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN react-syntax-highlighter@7.0. requires a peer of react@>= 0.14. but none was installed.

真机控件获取 app-inspector的更多相关文章

  1. React Native 教程:001 - 如何运行官方控件示例 App

    原文发表于我的技术博客 本文主要讲解了如何运行 React Native 官方控件示例 App,包含了一些 React Native 的基础知识以及相关环境的配置. 原文发表于我的技术博客 React ...

  2. CheckBoxList控件获取多选择,需要遍历

    CheckBoxList控件获取多选择,需要遍历,环境:vs2008 在页面上添加CheckBoxList控件,输入项值 a,b,c,d.然后添加按钮 Button2确定,如何获取CheckBoxLi ...

  3. JavaScript经典代码【一】【javascript HTML控件获取值】

    javascript HTML控件获取值 1.下拉列表框选定值 ddlPageSize.options[ddlPageSize.selectedIndex].value ddlPageSize.opt ...

  4. 通过控件获取cell

    #pragma mark - 通过控件获取cell -(UITableViewCell*)GetCellFromTableView:(UITableView*)tableView Sender:(id ...

  5. Element ui tree树形控件获取当前节点id和父节点id

    低版本Element ui tree树形控件获取当前节点id和父节点id的方法:点击查看 最新版本Element ui tree树形控件获取当前节点id和父节点id教程: 1.找到node_modul ...

  6. WPF设置控件获取键盘焦点时的样式FocusVisualStyle

    控件获取焦点除了用鼠标外,可以通过键盘来获取,比如Tab键或者方向键等,需要设置控件获取键盘焦点时的样式,可以通过设置FrameworkElemnt.FocusVisualStyle属性, 因为几乎所 ...

  7. app控件获取之uiautomatorviewer

    初探 在Android的SDk提供了以下的工具来支持我们进行UI自动化测试: uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具. uiautomator:一个包 ...

  8. Appium移动自动化测试(五)--app控件获取之uiautomatorviewer

    初探 在Android的SDk提供了以下的工具来支持我们进行UI自动化测试: uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具. uiautomator:一个包 ...

  9. iOS 证书、真机调试、发布 App Store

    之前对iOS的证书弄的很不清楚,Xcode里面也有各种证书,作为一只有强迫症的巨蟹座,这是不能忍的 趁着准备发布自己的第一个app,梳理一下这块内容 主要参考了这几篇文章: iOS开发:创建真机调试证 ...

随机推荐

  1. django rest framework权限和认证

    Django rest framework之权限 一.Authentication用户认证配置 1.四种验证及官网描述: BasicAuthentication 此身份验证方案使用HTTP基本身份验证 ...

  2. python学习笔记(2)--基本语法元素

    来看一个非常简单的温度转换程序 #Tempconvert.py tempstr = input("输入:") if tempstr[-1] in ['F', 'f']: C = ( ...

  3. 设计模式笔记:单一职责原则(SRP, Single Responsibility Principle)

    1. 单一职责原则核心思想 一个类应该有且只有一个变化的原因. 2. 为什么引入单一职责原则 单一职责原则将不同的职责分离到单独的类,每一个职责都是一个变化的中心. 在SRP中,把职责定义为变化的原因 ...

  4. 用dbExpress页的SQLConnection1连接sql server2000怎么设置。 [问题点数:0分]

    在d7或者c6已经支持了. 贡献一下我的代码吧:dbeConn:= TSQLConnection.Create(nil);       dbeConn.Params.Clear;       dbeC ...

  5. 学习 Spring (十七) Spring 对 AspectJ 的支持 (完结)

    Spring入门篇 学习笔记 @AspectJ 的风格类似纯 java 注解的普通 java 类 Spring 可以使用 AspectJ 来做切入点解析 AOP 的运行时仍旧是纯的 Spring AO ...

  6. CF821C Okabe and Boxes

    题目链接 题目大意 模拟栈的操作,要求从1~n依次弹出,若不符合可以排序,且不会有不合法情况,求最少排序次数. 思路 由于一定没有不合法情况,所以每次不符合顺序时可以直接清空,遇到栈为空时仍然要求弹出 ...

  7. python 模块之-ffmpeg 中文参数对照表

    a) 通用选项 -L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t durat ...

  8. [UOJ455][UER #8]雪灾与外卖——堆+模拟费用流

    题目链接: [UOJ455]雪灾与外卖 题目描述:有$n$个送餐员(坐标为$x_{i}$)及$m$个餐厅(坐标为$y_{i}$,权值为$w_{i}$),每个送餐员需要前往一个餐厅,每个餐厅只能容纳$c ...

  9. BZOJ2738 矩阵乘法(整体二分+树状数组)

    单个询问二分答案即可,多组询问直接整体二分再二维BIT.注意保证复杂度. #include<iostream> #include<cstdio> #include<cma ...

  10. Pfsense2.34中文版

    Pfsense2.34中文版 来源  https://forum.netgate.com/topic/112076/pfsense2-34%E4%B8%AD%E6%96%87%E7%89%88-%E8 ...