听说 XCTest 提速不错,正好将框架底层升级更新。

1.1.0.beta.4 提交记录:

环境准备:

1,下载 Appium 1.1.0-beta.4
2,准备一台 ios 9.3 以上的设备
3,将设备加入被测应用开发者证书内(加入之后记得更新证书)
4,xcode 最好升级 8.2 以上

Appium 1.1.0-beta.4 下载地址:

下载 appium:
sudo npm install -g appium

(一)安装 ios-deploy


sudo npm install -g ios-deploy --unsafe-perm=true

(二)配置 WebAgent:

1,安装 appium-xcuitest-driver 依赖 进入 WebDriverAgent 安装目录。运行 bootstrap

cd  /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 

(如果 WebDriverAgent 所在路径和此不同,请自行查找)

mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh

保证 运行 sh ./Scripts/bootstrap.sh 无报错就 OK 了

2,用 Xcode 打开 WebDriverAgent,并且编译
进入 WebDriverAgent 文件夹,可用如下方法

首先编译之前你得有 ID 账号,并且登录你的 Xcode 账户。当然如果有开发者账号那么会更好 ,Xcode7 之后,苹果放开了真机调试,所以没有开发者账号。也能在真机上跑起来,直接上截图。(以下截图直接复用,哈哈)
编译 WebDriverAgentLib

编译 WebDriverAgentRunner

可以看看这个帖子 :- https://testerhome.com/topics/6962

(三)配置 Appium:

点击 start session 之后就是 appium inspector 而且会自动启动手机上 WDA

(四)Capabilities

//启动参数
 public void setup() throws MalformedURLException {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("platformName","iOS");
        capabilities.setCapability("deviceName", "testly");
        capabilities.setCapability("udid", "ec0e62d55347d95d9b756fc4d2196b9dd2c63290");
        capabilities.setCapability("platformVersion", "10.3");
        capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
        capabilities.setCapability(MobileCapabilityType.APP, "com.test.test");
        capabilities.setCapability(MobileCapabilityType.UDID, "ec0e62d55347d95d9b756fc4d2196b9dd2c63290");
        driver = new IOSDriver(new URL("http://0.0.0.0:4727/wd/hub"), capabilities);
    }

完成以上步骤即可跑起来啦~

总结:

坑一:

证书问题
因为 AppleId 只支持三个账号满了 后面一直 run 不起来,后面只能拿公司的开发者证书,这个问题解决最耗时间。

坑二:

WebDriverAgent 的 启动问题
一直想着如何启动 手机上 WDA ,其实并不用考虑。通过 appium 启动 new session 就可以走 localhost:8100 即可


↙↙↙阅读原文可查看相关链接,并与作者交流