robot自带的ride工具不好用,就像填表格似的写脚本,太拘束。所以一直在用sublime text写robot脚本,但是也有问题:用sublime text写的脚本,只能运行一个文件的case,并不能运行多个文件。
这个时候我们怎么办?
经过查找资料,可以用windows的批处理命令,将其命令放在一个文件中,执行所有的case,并在reports路径下生成报告。
1 @echo off 2 ::pip install pywinauto 3 ::pip install pyautogui 4 ::pip install robotframework-ExtendedSelenium2Library 5 ::pip install pymssql 6 ::pip install mysql-connector-python-rf 7 if not defined BROWSER (set BROWSER=Chrome) 8 echo BROWSER=%BROWSER% 9 robot --variable BROWSER=%BROWSER% --outputdir reports --test 新建资讯 . || exit /B 0
其中::表示注释,
1 pip install XXX表示安装robot需要的包, 2 3 if not defined BROWSER (set BROWSER=Chrome) 4 echo BROWSER=%BROWSER% 5 这两句是设置浏览器 6 robot --variable BROWSER=%BROWSER% --outputdir reports --test 新建资讯 . || exit /B 0 7 输出到reports文件夹 8 robot --exclude TBD --variable BROWSER:%BROWSER% --outputdir reports ./%1 || exit /B 0 9 --exclude 是排除TBD 标志的,其他都运行 10 --test 新建资讯 是执行某一个用例 11 12 如果是执行两个用例: 13 robot --variable BROWSER=%BROWSER% --outputdir reports --test 新建资讯 --test XXX . || exit /B 0
这样,我们运行一个项目中所有的用例时,可以直接双击该批处理文件。
如何解决Bat脚本中包含中文,运行乱码
-
习惯性的,我会在notepad工具中去编辑我的一些文本文件,如下如:
-
上面这个脚本其实很简单,就是中文提示输入两个字符,然后去比较两个字符是否相等,如果相等就输出“我们相等”,如果不相等就输出“我们不相等”。
-
然后我将文件保存为bat_1.bat文件
-
大家可以看到上面的文件,其实没有做任何的处理,直接保存为了bat文件。
-
下面我来运行我的代码,大家会发现中文部分全部是乱码的,看着让人很不爽。
-
好吧,其实造成这个问题的原因很简单。
编辑批处理文件时,以ANSI方式编辑即可。若以别的方式(如UTF-8)编辑了批处理,转换成ANSI格式即可。
windows自带的记事本保存文件时即可选择编码方式
-
下面是保存后文件
-
ok了,我们来试试,看结果是不是我们要的。
-
上图,可以看到中文都可以显示正常了。