Jenkins六:Jenkins自动化测试iOS及覆盖率

前一篇:Jenkins五:构建触发器定时任务
后一篇:Jenkins七:创建自己的Jenkins插件
(https://www.jianshu.com/p/1a113c267d36)

一、准备工作

如何正确添加和删除Unit Test Target
iOS 单元测试之XCTest详解

二、自动化测试

Jenkins实现iOS自动化测试及覆盖率报告输出
Jenkins实现iOS自动化测试及覆盖率报告输出
Xcode命令行执行单元测试
构建脚本如下

#!/bin/bash -l
#新建目录用于保存报告
if [ ! -d "${WORKSPACE}/test-reports"  ];then
  mkdir -p "${WORKSPACE}/test-reports"
else

fi
if [ ! -d "${WORKSPACE}/reports"  ];then
  mkdir -p "${WORKSPACE}/reports"
else

fi

#pod可能失败的全局参数设置
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

xcodebuild test -workspace ${WORKSPACE}/xxxx.xcworkspace -scheme xxxxTests -destination 'platform=iOS Simulator,OS=11.4,name=iPhone 8 Plus' -enableCodeCoverage YES 2>&1 | ocunit2junit
#slather coverage转换覆盖率报告为html文件,jenkins可读
#--input-format profdata  xcode生成的为profdata格式的文件,转换为html以便jenkins显示
#--ignore 排除筛选需要计算的文件,多个格式写多个ignore表达式

slather coverage --html \
--input-format profdata \
--binary-file  /Users/xxxx/Library/Developer/Xcode/DerivedData/xxxx-ayykmzwcgxocpgenoxqonmcvmorh/Build/Products/Debug-iphonesimulator/xxx.app/xxx  \
--scheme xxxTests \
--workspace xxxx.xcworkspace \
--configuration Debug \
--output-directory reports xxxx.xcodeproj

生成后测试报告后再Safari里css和图片样式不对,在Chrome里没问题,解决方法如下:

解决Jenkins中无法展示HTML样式的问题

你可能感兴趣的:(Jenkins六:Jenkins自动化测试iOS及覆盖率)