背景介绍
聊天机器人,我们应该很熟悉了,比如淘宝,京东的智能客服,背后就是基于聊天机器人来实现的。在湾区,很多科技公司都引入了智能机器人来帮助自己更好的工作和生活,我们可以看到在Slack上,有很多Bot,可以做各种各样的事情。那么,在本文,我们将详细介绍如何打造一个自动化机器人autobot,来做自动化测试,自动化运维的工作。
![自动化测试中的Slack机器人-基础篇 自动化测试中的Slack机器人-基础篇](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzg0MC80NmNlOWJmYmZiMDJhMmUxOWQyYjI5NzNhMDA3MDM0OC5wbmc%3D.png?w=700&webp=1)
前提
我们目前的自动化测试工作,主要是基于Jenkins为中心设计的。同时项目的团队成员主要用Slack进行工作沟通和交流。我们这个自动化测试平台的技术栈如下:
技术栈
名称 | 用途 | 备注 |
---|---|---|
jenkins | 持续集成平台 | 任务调度中心 |
robotframework | 自动化测试框架 | 关键字驱动测试 |
selenium | Web自动化测试工具 | Json Wire Protocol |
关于如何在jenkins中集成Robot Framework测试框架,以及如何搭建jenkins+robotframework+selenium测试环境,请参考专题Robot Framework测试框架
这里不作过多赘述。
Slack
用户可以为自己的团队注册一个账号,并且分别创建团队成员角色。这里假设读者对Slack已经有所了解,如果不清楚的,请查看相关资料。Slack提供了网页版,桌面,以及移动客户端,覆盖了Windows, Linux以及OSX。
![自动化测试中的Slack机器人-基础篇 自动化测试中的Slack机器人-基础篇](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM0NC85Y2Y3NjdiOTA4ZTc2YjAzMzNlY2IzYTI1NmE0YjY0MC5wbmc%3D.png?w=700&webp=1)
![自动化测试中的Slack机器人-基础篇 自动化测试中的Slack机器人-基础篇](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI1OS9hMzViZTViNWZmNDYwYjY1NWZlZDYzOTBhOTgxZTM1My5wbmc%3D.png?w=700&webp=1)
技术准备
第一步,添加机器人
首先进入Custom Integration,选择Bots,创建一个聊天机器人。
![自动化测试中的Slack机器人-基础篇 自动化测试中的Slack机器人-基础篇](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzMyNS9mZjA3NWM1NjUxZTFkZjE4YmU4OGFiOGM0OTUyYzRiZC5wbmc%3D.png?w=700&webp=1)
为机器人取名,名字随便,我这里取名autobot
添加机器人进入team。
![自动化测试中的Slack机器人-基础篇 自动化测试中的Slack机器人-基础篇](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzU4NS9hOTQ4ZGUwYmZkNTcyYTQ2Yzg1MzEzMmExMjY0ZDJiMS5wbmc%3D.png?w=700&webp=1)
第二步,配置机器人
进入配置界面,可以设置机器人的名称,描述等;这里,记住API Token就好了,我们后面,需要用到。
![自动化测试中的Slack机器人-基础篇 自动化测试中的Slack机器人-基础篇](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM1My9lYzI3NDlkMzY3MDg5ZmYzNmQ4OGU4MjFjNzU0MGZjMS5wbmc%3D.png?w=700&webp=1)
至此,我们就完成了Slack上的相关准备工作了。接下来,开始搭建自己的聊天运维机器人。
自动化机器人
我们先来看一下效果。
生活聊天类信息
![自动化测试中的Slack机器人-基础篇 自动化测试中的Slack机器人-基础篇](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzc5My9kMjE0NGYzOWFiNzE5NzE4N2E1NjQ2ODcyMjg5MDVkMS5wbmc%3D.png?w=700&webp=1)
在上面和机器人@autobot的对话中,我们可以很清楚地了解jenkins上任务的执行状态,自动化测试结果的情况。
咨询jenkins的信息
在高级篇中,我们将重点介绍如何打造自己的ChatOps机器人, 使它承担一部分的DevOps工作。
展望
未来,肯定会有越来越多的人工智能机器人来帮助我们工作,基于深度学习,机器学习技术,我们可以训练我们的机器人,使它越来越聪明。