我是 Jenkins Pipeline 和 Selenium TestNG 的新手。我的问题陈述如下-
我有一个 selenium testng 套件,即以 xml 文件的形式为测试套件提供值。例如 :
Username, Password, Host IP, Port etc
用于测试类
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
<parameter name="config-file" value=<values_file>/>
<test name="Test1">
<parameter name="testcaseFile" value="<data_file> />
<classes>
<class name="com.testcase1"/>
</classes>
</test>
<test name="Test2">
<parameter name="testcaseFile" value=<data_file> />
<groups>
<run>
<exclude name="extendedtest" />
</run>
</groups>
<classes>
<class
name="com.test3" />
</classes>
</test>
</suite>
现在我被卡住的是上面的文件在日常构建中运行。现在说,如果我有一个临时测试要完成,说我已经启动并运行了所有环境,我所要做的就是手动将数据提供给 jenkins。即我通过参数化它创建了一个 jenkins 作业。如下图 -
properties([parameters([choice(choices: ['env1', 'env2', 'env3'], description: 'Select Type Of Environment to be executed', name: 'ENVIRONMENT'), string(defaultValue: 'IP', description: 'host', name: 'HOST_IP', trim: false), string(defaultValue: '0000', description: 'Port', name: 'HOST_PORT', trim: false), string(defaultValue: 'edward', description: 'username', name: 'USERNAME', trim: false), string(defaultValue: 'abc123', description: 'Password', name: 'PASSWORD', trim: false)])])
node {
stage('Git Checkout') {
echo "Checking out GIT repository"
echo "Launching Tests with Parameters ${params.HOST_IP}"
echo "On Environment ${params.ENVIRONMENT}"
}
}
我如何将其条件化为 -
如果我从 Jenkins 作为参数提供数据,则直接运行套件
其他明智的选择 .xml 文件并在 jenkins 中执行 .xml 文件?