移动端自动化测试工具 Appium 之持续集成
【摘要】 一、背景持续集成是老生话谈的事情,用的好不好,看自己公司与使用场景,但做为测试开发一种技能还是有必要掌握,虽然大家不怎么做,话说技多不压身,今天咱们谈一谈咱们把 appium+maven+java+testng 集成到 jenkins 中去,并且然他 Jenkins 跑起来,配置邮件键默认大家会配置。 二、前置条件通过main启动testng.xml跑起整个项目编写一些用例本机有tomca...
一、背景
持续集成是老生话谈的事情,用的好不好,看自己公司与使用场景,但做为测试开发一种技能还是有必要掌握,虽然大家不怎么做,话说技多不压身,今天咱们谈一谈咱们把 appium+maven+java+testng
集成到 jenkins 中去,并且然他 Jenkins 跑起来,配置邮件键默认大家会配置。
二、前置条件
- 通过main启动testng.xml跑起整个项目
- 编写一些用例
- 本机有tomcat或者安装了Jenkins
三、代码部分
1、pom.xml文件配置
2、main入口代码
autotest.runbase.ExecMai
package appout;
import appout.utils.OperationalCmd;
import appout.utils.createTestngXml;
import org.testng.TestNG;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
/**
* @author 7DGroup
* @Title: MainTest
* @Description: 主方法
* @date 2019/11/24 / 19:49
*/
public class MainTest {
static Properties sysProperty = System.getProperties();
private static final String ESCAPE_PROPERTY = "org.uncommons.reportng.escape-output";
public static void main(String[] args) {
//先执行kill
OperationalCmd.killServer();
//在启动服务
OperationalCmd.startAppium();
try {
//执行的类
createTestngXml.createTestngXml("appout.appcase.CartTest");
} catch (Exception e) {
e.printStackTrace();
}
System.setProperty(ESCAPE_PROPERTY, "false");
List<String> suites = new ArrayList<String>();
System.out.println(suites);
suites.add(sysProperty.getProperty("user.dir") + "/comsevenday/src/main/resources/appxml/mytestng.xml");
TestNG tng = new TestNG();
tng.setTestSuites(suites);
tng.run();
}
}
四、Jenkins 部分
1、下载Jenkins
部署成功并且启动成功,需要下载maven插件,邮件插件等信息。配置环境变量与其他信息,自己百度查下即可。
2、安装插件
邮件插件:
3、job配置
新建项目:
配置build选项:
注意:
简单配置上面选项即可,如果需要邮件,或者代码管理其他的自己选择配置,再这里就不介绍,保存上面选项;
4、选择构建
左边看见开始构建:
点击日志:
显示编译信息:
运行结束:
最后提示:
五、工程目录
大家看不到appium启动文件与工具类,因为我给他封装成jar包了,所以大家看不到。封装成jar给大家调用比较方便,而且工程看起来干净整洁。写测试用例同学不用关心怎么封装的,只有写测试用例即可。
六、报告示例
七、总结
总体上集成还是比较简单,关键是 pom 文件配置,工程怎么启动,还有 Jenkins 怎么配置。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)