iOS开发

使用Xcode Service进行iOS的自动化测试

2015-04-03  本文已影响344人  优雅的猪

文章转自:@dee

简介:

About Continuous Integration in Xcode

Xcode supports a continuous integration workflow through the Xcode service. The Xcode service, available in OS X Server, automates the integration process of building, analyzing, testing, and archiving your app. From your development Mac, you create bots that run on a separate server, where they perform these integrations. Bots help ensure that your product is always in a releasable state—and when there’s a failure, the service notifies you or the person whose code change caused the failure.

配置要求

一台Mac用作Server

若干Mac开发机

OS Server软件

配置步骤

一:OS X Server的配置:

OS X Server app下载链接:http://chinamac.dbank.com/c0ju1oq2du

安装好OS X Server后,设置Xcode Service

2.1 设置代码仓库(Repositories),(我的代码仓库是在Github上,我测试的时候使用SSH连接会失败,然后使用HTTPS就正常连接)

2.2 设置Xcode service的权限(修改Xcode Service Bot的权限等),分三种:

* 登录用户

* 任何用户

* 部分用户

2.3 开启Xcode service.

二:Xcode的配置:

在Xcode的Preference -> Accounts -> Add Server ,添加一个OS X Server ,然后输入相关配置.

到这里 ,OS X Server 的Xcoder Service 还有 Xcode都设置好了.现在可以添加一个Bot来进行自动测试了.

What is Bot:

进行自动化测试之前,首先,我们需要创建一个Bot.

Bot有几种类型:

每次代码仓库的commit,都会触发

定期触发

Bot可以在Xcode或者浏览器管理页面上进行手动触发.

在Xcode的Product -> Create Bot来创建一个Bot.

Why Xcode Service?

配置超级简单.

OS X Server的UI十分漂亮

成本几乎可以忽略不算.(OS X Server价格:128软妹纸)

使用简单,与Xcode无缝连接(操作都在Xcode上可以完成)

一条龙服务:静态代码分析,单元测试,持续集成归档.

OS X Server下的Xcode Service只是一小部分功能,还有wiki(可以建立团队的知识库)等其它实用的功能.

并且在WWDC上可以看出,Apple的Xcode team把自动化测试做得越来越好.

在Server端,可以同时测试多台真机,多台模拟机.

我们使用的是gitlab做代码仓库,在Xcode上配置好OS Server之后,集成的时候会出现权限问题:

debug1: Trying private key: /var/empty/.ssh/id_rsa

debug1: Trying private key: /var/empty/.ssh/id_dsa

debug1: No more authentication methods to try.

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

解决方法是将public key还有private key文件分别移到/var/empty/.ssh/id_rsa,/var/empty/.ssh/id_dsa目录下.

上一篇下一篇

猜你喜欢

热点阅读