美文网首页征服iOS自动化测试程序员
使用Xcode Service进行iOS的自动化测试

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

作者: 不是谢志伟 | 来源:发表于2014-07-22 21:54 被阅读2715次

简介:

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的配置:

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

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

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

    2.2 设置Xcode service的权限(修改Xcode Service Bot的权限等),分三种:
    * 登录用户
    * 任何用户
    * 部分用户
    2.3 开启Xcode service.


    1.pic.jpg

二:Xcode的配置:


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

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


3.pic.jpg

What is Bot:


what is a Bot.png

进行自动化测试之前,首先,我们需要创建一个Bot.
Bot有几种类型:

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

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

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


create a bot.png

Why Xcode Service?

  • 配置超级简单.
  • OS X Server的UI十分漂亮
  • 成本几乎可以忽略不算.(OS X Server价格:128软妹纸)
  • 使用简单,与Xcode无缝连接(操作都在Xcode上可以完成)
  • 一条龙服务:静态代码分析,单元测试,持续集成归档.
  • OS X Server下的Xcode Service只是一小部分功能,还有wiki(可以建立团队的知识库)等其它实用的功能.
  • 并且在WWDC上可以看出,Apple的Xcode team把自动化测试做得越来越好.
  • 在Server端,可以同时测试多台真机,多台模拟机.
4.pic.jpg

我们使用的是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 目录下.

相关文章

网友评论

  • 醉雨清风:你好,能不能留个联系方式,我现在有一些关于bot的问题想咨询你
    醉雨清风:我的QQ345144609

本文标题:使用Xcode Service进行iOS的自动化测试

本文链接:https://www.haomeiwen.com/subject/vyestttx.html