一. 配置KIF相关

  1. 如果创建项目时没有选择test,则需要单独创建Unit Testing Bundle

    注意:KIF必须使用Unit Testing Bundle否则会报错

  2. pod添加KIF,并进行拉取

target 'UITestAPP' dotarget 'UITestAPPTests' dopod 'KIF', :configurations => ['Debug']end
end


3. 创建测试文件

  1. 添加accessibilityLabel
  2. 书写简单测试代码
#import <KIF/KIF.h>@interface LoginTest : KIFTestCase@end@implementation LoginTest// MARK: 每个测试用例前准备
- (void)beforeEach {
}// MARK: 每个测试用例后恢复状态
- (void)afterEach {if ([tester tryFindingViewWithAccessibilityLabel:@"登录页->退出" error:nil]) {[tester tapViewWithAccessibilityLabel:@"登录页->退出"];}
}// MARK: 测试用例 账号为空 密码为空 正常账号密码
- (void)testLogin {if (![tester tryFindingViewWithAccessibilityLabel:@"登录页->账号" error:nil]) {return;}// 账号为空[tester clearTextFromViewWithAccessibilityLabel:@"登录页->账号"];[tester clearTextFromAndThenEnterText:@"123456" intoViewWithAccessibilityLabel:@"登录页->密码"];[tester tapViewWithAccessibilityLabel:@"登录页->登录"];// 密码为空[tester clearTextFromAndThenEnterText:@"admin" intoViewWithAccessibilityLabel:@"登录页->账号"];[tester clearTextFromViewWithAccessibilityLabel:@"登录页->密码"];[tester tapViewWithAccessibilityLabel:@"登录页->登录"];// 正常[tester clearTextFromAndThenEnterText:@"admin" intoViewWithAccessibilityLabel:@"登录页->账号"];[tester clearTextFromAndThenEnterText:@"123456" intoViewWithAccessibilityLabel:@"登录页->密码"];[tester tapViewWithAccessibilityLabel:@"登录页->登录"];}@end
  1. 点击测试完毕

  2. 添加使能统计覆盖率

  3. 添加测试scheme,否则jenkins会报错





二. 配置Ruby环境

  1. 下载 ocunit2junitslather
$ sudo gem install ocunit2junit
$ sudo gem install slather
  1. 如果安装slather失败,可能是系统ruby版本太低原因,更新ruby
    1. 安装rvm管理ruby工具

curl -L get.rvm.io | bash -s stable

    1. 如果报错 Failed to connect to raw.githubusercontent.com:443 输入命令

export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:789

    1. 再次安装

curl -L get.rvm.io | bash -s stable

    1. 安装后改变路径

source ~/.rvm/scripts/rvm

    1. 获取最新的ruby版本

rvm list known

    1. 下载最新的ruby版本

rvm install 3.0.0

    1. 切换Ruby版本
rvm use system          // 使用系统的ruby
rvm use 2.4.0           // 使用安装的ruby
rvm use 2.4.0 --default // 设置默认版本
    1. 也可以删除某个版本

rvm remove 2.4.0

    1. 切换到最新版本Ruby即可

rvm use 3.0.0

三. 配置Jenkins环境

曾尝试使用docker进行管理,其中路径什么的很难都隐藏在容器中,无法直观看到,最终直接安装Jenkins.

  1. 安装jenkins

brew install jenkins

  1. 安装完毕终端输入jenkins,打开1080端口等待启动完毕,终端会给一个密码

具体步骤参考: macOS Jenkins安装&配置

四. 代码由码云管理,配置码云相关

  1. 将代码上传的码云。
  2. 下载插件gitee

  3. 添加码云私人令牌与访问账号密码

码云上获取私人令牌




同理添加码云的账号密码,用于访问库

五. 创建并配置Item

  1. 创建Item


2. 配置Item

1. 添加描述与连接gitee相关

2. 配置代码拉取

3. 添加运行命令

3. 输入测试命令

# 判断文件夹是否存在,不存在则创建
if [ ! -d "test-reports" ]; thenmkdir mkdir test-reports
elseecho "test-reports 已经存在"
fi#pod可能失败的全局参数设置export LANG=en_US.UTF-8export LANGUAGE=en_US.UTF-8export LC_ALL=en_US.UTF-8# 加载pod
pod install# 配置测试模拟器等
xcodebuild test -workspace UITestAPP.xcworkspace -scheme UITestAPPTests -destination 'platform=iOS Simulator,name=iPhone 11' -configuration Debug -enableCodeCoverage YES 2>&1 | ocunit2junit# 覆盖率检查并以html显示
slather coverage --html --input-format profdata --binary-basename UITestAPP --scheme UITestAPPTests --workspace UITestAPP.xcworkspace --configuration Debug --ignore **View** --ignore **AppText** --output-directory reports UITestAPP.xcodeproj

  1. 运行jenkins
  2. 查看jenkins文件结构


6. 配置构建后显示




全部配置完毕,主要难点为 ruby版本切换,从新配置pod非常浪费时间,覆盖率复选框有时候会找不到,要加Test Plans

iOS自动化测试KIF使用 jenkins相关配置相关推荐

  1. iOS自动化测试(一)-技术方案、环境配置与疯狂踩坑

    移动端的自动化测试,最常见的就是Android自动化测试,IOS相较于Android要安全稳定的多,但是IOS也是一个需要测试的方向,作为测试,不认真测一下心里还是过意不去,只是我个人觉得Androi ...

  2. Jenkins上配置Robot Framework自动化测试脚本工程

    Jenkins上配置Robot Framework自动化测试脚本工程 现在越来越多的项目组开始引入敏捷,其中对于我们的自动化测试也有了一些新的要求.至少要把我们做的自动化案例能够持续地跑起来,能够在敏 ...

  3. iOS自动化测试辅助工具--Reveal配置及使用

    iOS自动化测试中,最关键的问题就是UI控件元素的识别,Xcode中的UIAutomation可以辅助做这个工作,但是使用时,需要启动Instrument,并启动录制脚本,比较麻烦. 下面为大家介绍另 ...

  4. iOS ---- Xcode Search Paths相关配置

    一: 开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题.而导入第三方库后,这写库的路径应该现在在导入当前项目target的Searc ...

  5. iOS自动化测试的那些干货

    前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改. 大多数的iOS App(没有持续集成)迭代流程是这样的 也就是说,测试是发布之前的最后一道关卡.如果bug不能在测试中发现,那么bug 就会 ...

  6. 跨平台iOS自动化测试工具——tidevice

    前言 一直以来,iOS自动化的实现&执行都依赖 Mac 系统,其主要原因是因为需要通过 Xcodebuild 编译&安装 WDA (WebDriverAgent) 到 iOS 设备中, ...

  7. 最新出炉--IOS自动化测试环境搭建(Python Java)

    一.前言 IOS的App自动化测试与Android的一样,也可以用appium来进行.但是IOS自动化依赖苹果的osx系统.Xcode构建等,且封闭的系统需要苹果开发者账号才可以驱动真机.Appium ...

  8. EasyClick IOS 自动化测试 使用前置准备

    文章目录 EasyClick IOS 自动化测试 使用前置准备 前置条件 mac电脑一台或黑苹果一台 前置条件(安装代理Ipa) 前置条件(安装中控) 前置条件(安装开发插件) EasyClick I ...

  9. python运行启动报错解决方法_51testing:iOS自动化测试的那些干货:关于appium启动报错问题的解决办法...

    原标题:51testing:iOS自动化测试的那些干货:关于appium启动报错问题的解决办法 我们在进行iOS Appium自动化测试的时候,会遇到环境配置.兼容使用问题,这里做个总结,以避免后续踩 ...

最新文章

  1. 后门技术(HOOK篇)之DT_RPATH
  2. css实现垂直居中定位
  3. kotlin集合操作符——生产操作符
  4. 股市红涨绿跌色系定义真的是中国特色吗?
  5. 论文浅尝 | 基于对抗学习的弱监督知识图谱对齐
  6. try catch finally的执行顺序到底是怎样的?
  7. 计算机管理是什么控件,Win7旗舰版系统WMI控件的功能作用是什么?
  8. springboot怎么杀进程_头疼,springboot进程总是自己退出
  9. php smarty if,php Smarty中if,elseif,else用法详解
  10. 基于JAVASCRIPT操作XML的无刷新分页
  11. 解决“安装程序无法创建新的系统分区,也无法定位现有系统分区”问题方法
  12. 树莓派4b 创乐博 7寸 1920*1200 分辨率触摸屏校准
  13. 数据类型--Number类型
  14. WebApp实时开源框架Clouda入门使用与记录
  15. win10升级助手链接
  16. 如何用计算机计时,如何为win7计算机设置计时器关闭
  17. preLaunchTask“C/C++:g++.exe生成活动文件“已终止,退出代码为-1
  18. 数据禾|全国10米DEM数字高程数据
  19. 安装Oozie4.1.0-CDH版本
  20. 伺服器对比:S3010,S-U400

热门文章

  1. 好用的GIF捕捉器——LICEcap
  2. 图像分割常用的性能测试指标
  3. 武汉大学-黄如花-信息检索课程学习笔记二
  4. 拉新拓客难?捷径体系健身房系统一招就够了!
  5. h5分享领红包页面获取app用户名头像并动态展示
  6. Cloning into ‘XXXX‘... fatal: protocol ‘?https‘ is not supporte 报错解决方法
  7. Vue快速入门(含下载地址)
  8. “美版贴吧” 强制对 API 收费遭开发者反击:关闭第三方 App 开源代码、数千个子论坛改私有模式、直接搞崩官网!...
  9. @Resource @Autowire 对比
  10. 江西明月山景区力争年内开通旅游包机