美文网首页征服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