Open eeechoo opened 5 years ago
平时写自动化测试用例,最常用命令
robot --pythonpath "项目绝对路径" --test "TestCase名称" "TestSuite绝对路径"
某天突然报了一堆如下错误
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(e)? 或者这样的 SyntaxError: invalid syntax (foo.py, line 31)
之前研究过 RobotFramework 源码,怀疑自己是不是把 RF 源码修改了,导致出现这样的情况。 于是进行了进行了如下操作
pip uninstall robotframework pip install robotframework
事实证明这个思路就是歪的。根本没有看出错原因。
查看出错原因,明显是 python3 不支持 python2 语法 print "foobar"。 在 cmder 中进行如下操作
print "foobar"
D:\cmder λ which robot /c/Python27/Scripts/robot D:\cmder λ robot --version Robot Framework 3.0.4 (Python 3.7.2 on win32)
发现了这个奇怪的问题,这时候突发奇想,试了下
D:\cmder λ cd C:\ D:\cmder λ
这就证明 cmder 不能切换 disk,而导致的问题。项目放在 D 盘,robot 脚本位于 C 盘。
由于这个问题 和 之前受够了 cmder 命令行多一个字符总是删不掉,末尾总是多一个空格。 感觉 cmder 并不是十分好用,本着不折腾的原则,果断从 cmder 换成 git-bash 自带的 MinGW64 算了。 切换到 git-bash 自带的 MinGW64 问题果断解决。
问题的出现
平时写自动化测试用例,最常用命令
某天突然报了一堆如下错误
问题的排查思路
之前研究过 RobotFramework 源码,怀疑自己是不是把 RF 源码修改了,导致出现这样的情况。
于是进行了进行了如下操作
事实证明这个思路就是歪的。根本没有看出错原因。
查看出错原因,明显是 python3 不支持 python2 语法
print "foobar"
。在 cmder 中进行如下操作
发现了这个奇怪的问题,这时候突发奇想,试了下
这就证明 cmder 不能切换 disk,而导致的问题。项目放在 D 盘,robot 脚本位于 C 盘。
由于这个问题 和 之前受够了 cmder 命令行多一个字符总是删不掉,末尾总是多一个空格。
感觉 cmder 并不是十分好用,本着不折腾的原则,果断从 cmder 换成 git-bash 自带的 MinGW64 算了。 切换到 git-bash 自带的 MinGW64 问题果断解决。
教训