? ? 自動(dòng)化測(cè)試,如果沒有持續(xù)構(gòu)建民逼,就算不上真正意義的自動(dòng)化測(cè)試泵殴。所以,會(huì)寫IOS自動(dòng)化以后拼苍,首先做的笑诅,就是考慮如何在jenkins完成自動(dòng)化構(gòu)建。
完成持續(xù)構(gòu)建疮鲫,需要完成以下幾步:
1吆你、在項(xiàng)目中,生成gradle自動(dòng)化建構(gòu)工具的配置文件build.gradle俊犯。
? ? build.gradle文件中的內(nèi)容如下:
apply plugin: 'java'
sourceSets {
main.java.srcDirs = ['tests/java']
main.resources.srcDirs = ['tests/java']
test.java.srcDirs = ['tests/java']
test.resources.srcDirs = ['tests/resources']
}
dependencies {
compile fileTree(dir: 'libs', include: 'selenium-server-standalone-2.45.0.jar')
compile fileTree(dir: 'libs', include: 'org.hamcrest.core_1.3.0.v201303031735.jar')
compile fileTree(dir: 'libs', include: '*.jar')
}
其中妇多,tests/java為測(cè)試包所在的代碼目錄。
2燕侠、啟動(dòng)Appium服務(wù)器
/Applications/Appium.app/Contents/Resources/node_modules/.bin/appium --address "127.0.0.1" --debug-log-spacing --platform-version "9.3" --platform-name "iOS" --app "/Users/********/Downloads/iOS應(yīng)用文件名.ipa" --udid "設(shè)備的UDID" --show-ios-log --device-name "iPhone 6" --native-instruments-lib
? ? 里面的部分信息者祖,需要根據(jù)自己的iOS真機(jī)參數(shù)、版本安裝文件等進(jìn)行配置绢彤。
3七问、在jenkins中建立job,并填寫必要信息茫舶,最主要的是在execute shell中械巡,填寫如下命令
cd $WORKSPACE
ideviceinstaller -i ~/Downloads/iOS應(yīng)用版本名.ipa
./griddlew test --tests='*.MedAdd'
./gradlew test --tests='*.MedAddAge'
./gradlew test --tests='*.MedAdd*'
./gradlew XTest
? ? 簡(jiǎn)單說明一下用例的選擇:
? ? 1)如果確定執(zhí)行某個(gè)用例,可以直接寫用例的全名饶氏。如'*.MedAdd'讥耗、'*.MedAddAge';其中嚷往,“*.”代表前面的包名葛账。
? ? 2)如果執(zhí)行多個(gè)用例,可以使用正則表達(dá)式皮仁。我們用'*.MedAdd*'籍琳,可執(zhí)行MedAdd、MedAddAge等匹配“MedAdd”的所有類贷祈。
? ? 3)如果在build.gradle中填寫如下信息:
task XTest( type:Test ) {
include 'com/xsltest/testcase/testcase/MedAddAge**'
include 'com/xsltest/testcase/testcase/MedAdd**'
}
那么趋急,可以運(yùn)行./gradlew XTest來運(yùn)行包含的用例。
4势誊、連上匹配的真機(jī)呜达,運(yùn)行jenkins任務(wù)
? ? 運(yùn)行jenkins任務(wù)后,基本就可以進(jìn)行ios持續(xù)構(gòu)建了粟耻。其他的查近,可以根據(jù)jenkins的多種構(gòu)建形式眉踱,建立豐富多樣的iOS持續(xù)構(gòu)建。