iOS自动化测试持续构建

    自动化测试,如果没有持续构建,就算不上真正意义的自动化测试。所以,会写IOS自动化以后,首先做的,就是考虑如何在jenkins完成自动化构建。

完成持续构建,需要完成以下几步:

1、在项目中,生成gradle自动化建构工具的配置文件build.gradle。

    build.gradle文件中的内容如下:

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为测试包所在的代码目录。

2、启动Appium服务器

/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应用文件名.ipa" --udid "设备的UDID" --show-ios-log --device-name "iPhone 6" --native-instruments-lib

    里面的部分信息,需要根据自己的iOS真机参数、版本安装文件等进行配置。

3、在jenkins中建立job,并填写必要信息,最主要的是在execute shell中,填写如下命令

cd $WORKSPACE

ideviceinstaller -i ~/Downloads/iOS应用版本名.ipa

./griddlew test --tests='*.MedAdd'

./gradlew test --tests='*.MedAddAge'

./gradlew test --tests='*.MedAdd*'

./gradlew XTest

    简单说明一下用例的选择:

    1)如果确定执行某个用例,可以直接写用例的全名。如'*.MedAdd'、'*.MedAddAge';其中,“*.”代表前面的包名。

    2)如果执行多个用例,可以使用正则表达式。我们用'*.MedAdd*',可执行MedAdd、MedAddAge等匹配“MedAdd”的所有类。

    3)如果在build.gradle中填写如下信息:

task XTest( type:Test ) {

include 'com/xsltest/testcase/testcase/MedAddAge**'

include 'com/xsltest/testcase/testcase/MedAdd**'

}

那么,可以运行./gradlew XTest来运行包含的用例。

4、连上匹配的真机,运行jenkins任务

    运行jenkins任务后,基本就可以进行ios持续构建了。其他的,可以根据jenkins的多种构建形式,建立丰富多样的iOS持续构建。

你可能感兴趣的:(iOS自动化测试持续构建)