最近非常忙碌,已经一个月没更新博客了。最近公司要求做一个能够打开windows虚拟机内浏览器,ppt,播放视频等操作的一个脚本,由于虚拟机数量较多,所以还要求不通过远程连接桌面进去执行这些操作。所以我一开始想到的就是使用telnet连接进去再执行相应命令,但是telnet连接进去执行的命令是在后台执行的(telnet是文本式),这样在虚拟机内看不出浏览器是否真的打开。
因此就想到了另外2种可行的方案:
方案一:自己编写脚本远程连接再执行脚本或命令
1.编写打开浏览器,访问网址;打开ppt,播放幻灯片,f5全屏等按键;打开word输入内容,插入图片等操作的脚本
2. 添加任务计划,执行第1步的脚本
3.telnet连接虚拟机,执行任务计划,任务计划再启动对应脚本,就可以看到交互式画面了
方案二:利用软件连接虚拟机再远程执行-伽卡他卡
1.同方案一
2. 电子教室类软件,如:[mark]红蜘蛛或者伽卡他卡[/mark]等。以下我是用的是伽卡他卡
3.伽卡他卡有两个安装程序,一个教师端一个学生端,要求这些电脑都要在一个局域网,
教师端控制该网段所有启动了学生端的电脑,可以查看远程屏幕远程控制发送文件等功能。
因为以前没做过这种,费了点时间,不知道用什么方案来实现批量连接并执行,还要看到交互式画面的这一个步骤。
考虑过使用jenkins连接windows将脚本发送到各个虚拟机上,但是这样的话就需要在每台机器上都安装agent,因为windows没有ssh连接。
又考虑了录制脚本来实现,也有很多不适合的,因为录制脚本是点对点(比如按键精灵),就会存在一个潜在问题,如果虚拟机的分辨率不同,或者虚拟机内浏览器的位置不同都会导致脚本执行时无法点击,因此又放弃这种方案。
(jenkins如果执行什么打开浏览器的操作其实也是在后台执行的,想要看到交互式画面,还需要另外设置。jenkins运行UI自动化未显示交互式画面)