appium 在mac环境搭建好之后,配置好环境变量之后可以使用如下命令查看devices name 、udid
adb devices 查看 连接在mac上的Android手机的devices name
idevice_id -l 查看连接在mac上的IOS手机的udid,通过也可以使用ituns查看
但是要使用idevice_id -l 需要安装idevice
brew install usbmuxd
brew install ideviceinstaller
ideviceinstaller -l 来查bundleID 类似于Android的appPackge、appActivity
idevice_id -l 来查看udid,类似于Android的devicesName
npm install appium
或者
npm install appium@版本号
或者
npm update -g appium
前提是安装了node环境
安装:npm --registry http://registry.cnpmjs.org install -g appium
更新:npm --registry http://registry.cnpmjs.org update -g appium
如果不希望每次都输入:--registry http://registry.cnpmjs.org,可以修改npm配置,命令行如下:
npm config set registry http://registry.cnpmjs.org
做完以上设置后,下次更新只需要输入: npmupdate -g appium
增加一个淘宝的镜像: http://registry.npm.taobao.org 两者都可以,有时候安装失败没关系,多试几次就可以了
windwos中查看Android设备上的app 控件元素显示
通过sdk/tools下的uiautomatorviewer.bat 来查看,在命令行输入uiautomatorviewer就可以
mac中查看Android、IOS设备上的app的控件元素显示
Appium提供了在一台设备上启动多个Android会话的方案,而这个方案需要你输入不同的指令来启动多个Appium服务来实现。
启动多个Android会话的重要指令包括:
-p
Appium的主要端口
-U
设备id
-bp
Appium bootstrap端口
--chromedriver-port
chromedriver端口(当使用了webviews或者chrome)
--selendroid-port
selendroid端口(当使用了selendroid)
如果此时有两台设备,设备的devices name分别为d123456、d234567,可以启动两个不同的appium服务进行并发测试
appium -p 4769 -bp 4770 -U d123456
appium -p 4771 -bp 4772 -U d234567
只要你的Appium和Appium bootstrap端口介于0和65536即可,并且保证是两个不同的端口以便两个Appium服务不会监听相同的端口。确认你的-u参数绑定正确的设备ID。这可以让Appium知道连接哪台设备,所以参数一定要准确。
如果你用了chromedriver或selendroid,不同的服务要设置不同的端口。
不幸的是,IOS不能进行本地并发测试。跟Android不一样,IOS在同一时间只能启动一个版本的模拟器来运行多个测试。 如果你想在IOS上进行并发测试,你需要用到Sauce。只需上传你的Appium测试脚本到Sauce,它就可以按照你的设置执行多个IOS或Android的并发测试。在Sauce上执行测试的
4.2、直接启动
此时显示appium的版本 V1.7.2,要是有
(REV ae6877eff263066b26328d457bd285c0cc62430d),表示对应版本库里面的reversion版本号
Appium REST http interface listener started on 0.0.0.0:4723 表示监听的地址和端口,这个地址是appium server的入口,0000表示监听的本机的所有IP地址,4723表示监听的端口(appium默认监听4723)
Windows设备
appium -a 127.0.0.1 -p 4723 --log "c:\appium.log" --log-timestamp --local-timezone --session-override
mac设备
appium --address 127.0.0.1 --port 4723 --log "~/appium.log" --log-timestamp --local-timezone --session-override
appium服务行命令参数
1、首先将手机用usb数据线将手机跟电脑连接,并且要保证手机跟电脑要在同一个网断,可以ping 通
2、手机打开 “开发者模式”,然后adb tcpip 5556 ---表示开启一个tcpip连接的端口服务端口号只要跟其他服务不冲突就OK
此时提示“restarting in TCP mode port:5556”
3、查看手机的IP地址,通过 adb connect IP:5556
此时提示“connected to ip:port”
4、然后用adb devices 就可以通过Wi-Fi连接手机了
这个方法在windows、MAC上都是可行的,亲测可连接
windows
adb shell dumpsys window w | findstr \/ | findstr name=
Mac或者Linux
adb shell dumpsys window w | grep \/ | grep name=
此时获取的activity是当前activity名称
2、使用aapt,aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
命令行中执行:aapt dump badging E:\apk\es3.apk(在本机路径下的安装包)
2.运行后的结果中以下两行分别是应用包名package和入口activity名称注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。
此时获取的activity是主activity名称
python2 -m pydoc -p 4567
http://localhost:4567
其中要查看python3的 使用 python3 -m pydoc -p 5678
1、开启远程服务器的appium服务
2、远程服务器的appium地址为本机的实际地址,而不是127.0.0.1,(1)可以在appium 的UI界面设置,(2)可以在命令行中指定启动的IP为实际地址
3、在本地电脑上的浏览器中输入http://实际IP:port/wd/hub,出现如下所示表示appium服务访问成功
4、修改本机测试代码中的remote(IP)IP地址为实际的IP
xcrun instruments -w 'iPhone 6 Plus (11.1)'
其中要是不知道有哪些可用设备可用的话 使用命令 xcrun instruments -w '' 这样就会列出所有的可以开启的IOS设备
命令行给模拟器安装.app安装包,
从appstore下载的ipa包是不能安装在模拟器上的,必须找开发专门打一个针对模拟器的.app包才可以用,
通过命令行安装该app包到模拟器:xcrun simctl install booted path/to/**.app
卸载app包 xcrun simctl uninstall booted path/to/**.app