Appium for Mac 涉及问题记录

appium for mac

1、查看devices name 或者 udid

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

2、appium更新升级

2.1 直接升级

npm install appium 

或者

npm install appium@版本号

或者

npm update -g appium

前提是安装了node环境

2.2 通过国内镜像升级

     安装: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 两者都可以,有时候安装失败没关系,多试几次就可以了

3、查看app中的控件元素显示

windwos中查看Android设备上的app 控件元素显示

通过sdk/tools下的uiautomatorviewer.bat 来查看,在命令行输入uiautomatorviewer就可以

mac中查看Android、IOS设备上的app的控件元素显示

4、appium同时启动多个Android会话----Android并发测试

4.1 、指定端口启动

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并发测试

不幸的是,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)

4.3、多种参数指定启动

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服务行命令参数

5、appium使用Wi-Fi连接手机

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上都是可行的,亲测可连接

6、查看手机应用的packageName和activityName

1、在手机上打开该应用,直接获取

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名称
package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’

注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。

此时获取的activity是主activity名称 

7、查看python selenium的API

python2 -m pydoc -p 4567

http://localhost:4567

    其中要查看python3的 使用 python3 -m pydoc -p 5678 

8、在远程服务器上跑自动化测试用例

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

9、通过命令行打开IOS模拟器,安装.app包

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  



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值