iOS自动化测试KIF使用 jenkins相关配置
一. 配置KIF相关
如果创建项目时没有选择test,则需要单独创建
Unit Testing Bundle
注意:KIF必须使用Unit Testing Bundle
否则会报错pod添加KIF,并进行拉取
target 'UITestAPP' dotarget 'UITestAPPTests' dopod 'KIF', :configurations => ['Debug']end
end
3. 创建测试文件
- 添加accessibilityLabel
- 书写简单测试代码
#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
点击测试完毕
添加使能统计覆盖率
添加测试scheme,否则jenkins会报错
二. 配置Ruby环境
- 下载
ocunit2junit
和slather
$ sudo gem install ocunit2junit
$ sudo gem install slather
- 如果安装
slather
失败,可能是系统ruby版本太低原因,更新ruby
- 安装rvm管理ruby工具
curl -L get.rvm.io | bash -s stable
- 如果报错
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
- 再次安装
curl -L get.rvm.io | bash -s stable
- 安装后改变路径
source ~/.rvm/scripts/rvm
- 获取最新的ruby版本
rvm list known
- 下载最新的ruby版本
rvm install 3.0.0
- 切换Ruby版本
rvm use system // 使用系统的ruby
rvm use 2.4.0 // 使用安装的ruby
rvm use 2.4.0 --default // 设置默认版本
- 也可以删除某个版本
rvm remove 2.4.0
- 切换到最新版本Ruby即可
rvm use 3.0.0
三. 配置Jenkins环境
曾尝试使用docker进行管理,其中路径什么的很难都隐藏在容器中,无法直观看到,最终直接安装Jenkins.
- 安装jenkins
brew install jenkins
- 安装完毕终端输入jenkins,打开1080端口等待启动完毕,终端会给一个密码
具体步骤参考: macOS Jenkins安装&配置
四. 代码由码云管理,配置码云相关
- 将代码上传的码云。
- 下载插件gitee
- 添加码云私人令牌与访问账号密码
码云上获取私人令牌
同理添加码云的账号密码,用于访问库
五. 创建并配置Item
- 创建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
- 运行jenkins
- 查看jenkins文件结构
6. 配置构建后显示
全部配置完毕,主要难点为 ruby版本切换,从新配置pod非常浪费时间,覆盖率复选框有时候会找不到,要加Test Plans
iOS自动化测试KIF使用 jenkins相关配置相关推荐
- iOS自动化测试(一)-技术方案、环境配置与疯狂踩坑
移动端的自动化测试,最常见的就是Android自动化测试,IOS相较于Android要安全稳定的多,但是IOS也是一个需要测试的方向,作为测试,不认真测一下心里还是过意不去,只是我个人觉得Androi ...
- Jenkins上配置Robot Framework自动化测试脚本工程
Jenkins上配置Robot Framework自动化测试脚本工程 现在越来越多的项目组开始引入敏捷,其中对于我们的自动化测试也有了一些新的要求.至少要把我们做的自动化案例能够持续地跑起来,能够在敏 ...
- iOS自动化测试辅助工具--Reveal配置及使用
iOS自动化测试中,最关键的问题就是UI控件元素的识别,Xcode中的UIAutomation可以辅助做这个工作,但是使用时,需要启动Instrument,并启动录制脚本,比较麻烦. 下面为大家介绍另 ...
- iOS ---- Xcode Search Paths相关配置
一: 开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题.而导入第三方库后,这写库的路径应该现在在导入当前项目target的Searc ...
- iOS自动化测试的那些干货
前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改. 大多数的iOS App(没有持续集成)迭代流程是这样的 也就是说,测试是发布之前的最后一道关卡.如果bug不能在测试中发现,那么bug 就会 ...
- 跨平台iOS自动化测试工具——tidevice
前言 一直以来,iOS自动化的实现&执行都依赖 Mac 系统,其主要原因是因为需要通过 Xcodebuild 编译&安装 WDA (WebDriverAgent) 到 iOS 设备中, ...
- 最新出炉--IOS自动化测试环境搭建(Python Java)
一.前言 IOS的App自动化测试与Android的一样,也可以用appium来进行.但是IOS自动化依赖苹果的osx系统.Xcode构建等,且封闭的系统需要苹果开发者账号才可以驱动真机.Appium ...
- EasyClick IOS 自动化测试 使用前置准备
文章目录 EasyClick IOS 自动化测试 使用前置准备 前置条件 mac电脑一台或黑苹果一台 前置条件(安装代理Ipa) 前置条件(安装中控) 前置条件(安装开发插件) EasyClick I ...
- python运行启动报错解决方法_51testing:iOS自动化测试的那些干货:关于appium启动报错问题的解决办法...
原标题:51testing:iOS自动化测试的那些干货:关于appium启动报错问题的解决办法 我们在进行iOS Appium自动化测试的时候,会遇到环境配置.兼容使用问题,这里做个总结,以避免后续踩 ...
最新文章
- 后门技术(HOOK篇)之DT_RPATH
- css实现垂直居中定位
- kotlin集合操作符——生产操作符
- 股市红涨绿跌色系定义真的是中国特色吗?
- 论文浅尝 | 基于对抗学习的弱监督知识图谱对齐
- try catch finally的执行顺序到底是怎样的?
- 计算机管理是什么控件,Win7旗舰版系统WMI控件的功能作用是什么?
- springboot怎么杀进程_头疼,springboot进程总是自己退出
- php smarty if,php Smarty中if,elseif,else用法详解
- 基于JAVASCRIPT操作XML的无刷新分页
- 解决“安装程序无法创建新的系统分区,也无法定位现有系统分区”问题方法
- 树莓派4b 创乐博 7寸 1920*1200 分辨率触摸屏校准
- 数据类型--Number类型
- WebApp实时开源框架Clouda入门使用与记录
- win10升级助手链接
- 如何用计算机计时,如何为win7计算机设置计时器关闭
- preLaunchTask“C/C++:g++.exe生成活动文件“已终止,退出代码为-1
- 数据禾|全国10米DEM数字高程数据
- 安装Oozie4.1.0-CDH版本
- 伺服器对比:S3010,S-U400
热门文章
- 好用的GIF捕捉器——LICEcap
- 图像分割常用的性能测试指标
- 武汉大学-黄如花-信息检索课程学习笔记二
- 拉新拓客难?捷径体系健身房系统一招就够了!
- h5分享领红包页面获取app用户名头像并动态展示
- Cloning into ‘XXXX‘... fatal: protocol ‘?https‘ is not supporte 报错解决方法
- Vue快速入门(含下载地址)
- “美版贴吧” 强制对 API 收费遭开发者反击:关闭第三方 App 开源代码、数千个子论坛改私有模式、直接搞崩官网!...
- @Resource @Autowire 对比
- 江西明月山景区力争年内开通旅游包机