小编tom*_*101的帖子

运行Xcode单元测试时,Jenkins挂起

我正在尝试使用Jenkins运行我的Xcode单元测试.我可以使用此命令从我的构建服务器上的终端运行它们,但没有任何问题:

xcodebuild test -scheme MyProject -destination OS=7.0,name="iPad"
CONFIGURATION_BUILD_DIR=/Users/dev/Jenkins/Home/workspace/MyProject/build
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将该命令添加到我的构建脚本(buildscript.sh)文件时,它会在运行单元测试时挂起.我还尝试向Jenkins添加一个新的Xcode任务并运行这些参数:

XcodeSchema文件:MyProject

配置:调试

自定义xcode构建参数:test -destination OS = 7.0,name ="iPad"CONFIGURATION_BUILD_DIR =/Users/dev/Jenkins/Home/workspace/MyProject/build

它挂在debug-iphone模拟器文件夹中的构建文件中.

** BUILD SUCCEEDED **


setenv SYSTEM_DEVELOPER_DIR /Applications/Xcode.app/Contents/Developer
.
.
.
/bin/sh -c /Users/dev/Library/Developer/Xcode/DerivedData/MyProject
-ggdmamhydtxxzadkbjuusdjmholn/Build/Intermediates/MyProject.build/Debug
-iphonesimulator/MyProjectApplicationTests.build
Run Code Online (Sandbox Code Playgroud)

我查看了构建文件,并正确设置了它正在使用的环境变量.

MyProjectApplicationTest.build

#!/bin/sh
# Run the unit tests in this test bundle.
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
# "${SYSTEM_DEVELOPER_DIR}/Tools/RunPlatformUnitTests"
# "${PROJECT_DIR}/XcodeScripts/RunPlatformUnitTests
Run Code Online (Sandbox Code Playgroud)

RunUnitTests文件存在于该目录中.

我不知道Jenkins是否在运行模拟器时遇到问题.我昨天大部分时间都花在这上面.如果有人对这个问题有什么想法,请告诉我.

xcode unit-testing ios jenkins

6
推荐指数
1
解决办法
2031
查看次数

如何让 WKWebView.evaluateJavaScript 在函数调用中返回数据

我正在研究一些 WKWebView 解析例程。我试图通过检查页面的 document.title 来验证我是否已正确导航到该页面。我编写了一个函数来完成这项工作,但我似乎不知道如何从函数返回 HTML 数据或在函数中进行评估并返回 BOOL。我知道我正在此处进行异步调用,但不确定如何等待该调用结束并从我的函数调用反馈响应。

这是我的功能:

func checkTitle (forWebView webView: WKWebView, title: String) -> String{


webView.evaluateJavaScript("document.title", completionHandler: { (innerHTML, error ) in
    let titleString = innerHTML as? String

    return (titleString)

})
Run Code Online (Sandbox Code Playgroud)

这会引发编译器错误。我尝试在调用外部声明变量,然后分配并返回它,但它尝试在异步调用完成之前执行该变量。

ios swift wkwebview

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

ios ×2

jenkins ×1

swift ×1

unit-testing ×1

wkwebview ×1

xcode ×1