写在正文前的一段话
写这篇文章,还是挺激动的。因为我解决了困扰了我两天的问题(还有一个问题困扰了我更久:在Android真机上启动应用。直到现在还未解决,如果有同道中人已经解决了这个问题,还希望不吝赐教),就是利用Appium在iOS真机上启动应用。
这篇文章会是真正的小白文章,旨在让真正不懂代码的人也能看懂,会操作。我会尽量详细,如果还有不懂如何操作的,请留言,希望可以帮到你。
问题一
可能有些人感觉自己已经配置好了环境,也在手机上安装好了WebDriverAgent(WDA),但是还是总是不能启动应用,此时遇到的问题如下图:
解决这个问题的方法就是此时一定不能退出Xcode,一旦退出Xcode,在启动应用的时候WDA又在真机上消失了,所以就有会报错。
问题二
更多的人是不知道该怎么把WDA安装到手机上,在这里详细讲解。
当我们安装好appium-Desktop后,并且配置好了iOS开发环境的时候,就会有一个WDA文件出现,该文件的默认地址是:
/Applications/Appium/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
进到该文件所在的位置,找到如下图所示的一个文件:
双击该文件,用(默认)Xcode打开,找到如下图所在的三处:
这里很多专业的人喜欢把这步操作称为签名。
解释如下:
1、这里默认的是com.facebook.WebDriverAgentLib.具体什么是BundleID可以咨询开发人员,这是唯一标识符,一定不能和其他人的相同。所以一定要修改,只要把facebook修改成你们公司的名字(此处我用的就是我们公司的名称)就可以,当然也可以改成任意其他字符;
2、把这个勾勾上
3、选择一个AppleID就行(个人的也行)
除了上图1处的bundleid需要修改外,还有4处的bundleid需要和这里保持一致,如下图:
别急,还没完,继续
修改好bundleid以后还需要添加依赖库,至于添加哪一个,就看你缺少哪一个,在TARGETS里选择WebDriverAgentRunner,在build Phases里进行添加,操作步骤如下图:
好了,这样就把所谓的签名解决了,接下来开始验证了
我们知道我们的目标是把WebDriverAgentRunner这个应用安装到手机上,其实Appium也就是通过它来启动咱们的目标App。需要把手机连接到电脑上,操作步骤如下图:
1、首先选中WebDriverAgentRunner文佳下的UITestingUITests.m文件;
2、选中自己连接到电脑上的手机。
然后在手机上运行安装WebDriverAgentRunner,步骤如下图:
哇塞,安装成功!记住,安装成功也不能把Xcode退出,否则依然不能通过Appium启动应用。
这里可能会报错,原因就在那个依赖库那里,可以试着把第二个依赖库去掉,然后再试试。如果报错看不明白,可以找万能的开发工程师帮忙看看,他们久经沙场,对于很多问题要比你我更擅长解决。
你学会了吗?如果你还没解决你的问题,欢迎留言,共同进步!
获取已连接 Mac 的 iPhone 的 udid:
idevice_id -l