1,Windows上写的RobotFramework的WebUI脚本,能够正常运行。导出脚本上传到Linux,在Linux系统下robot命令执行报错,如下图:
- [root@c-gksk-node03-dev yangxu_case]# robot cc
- ==============================================================================
- Cc
- ==============================================================================
- Cc.Cc1
- ==============================================================================
- cc11 | FAIL |
- WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
- (unknown error: DevToolsActivePort file doesn't exist)
- (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
2,原因:需要对浏览器设置header,设置为无头模式。浏览器的无头(headless)模式。
3,解决办法:
3.1,如下图,在windows里,使用第8到12步可以通过谷歌浏览直接打开百度,然后输入和查询,最后关闭浏览器,完成一个自动化测试。 但是脚本导出到Linux执行就会报错。
3.2,这个时候对浏览器进行设置,如图,另外添加第1到7步,以及使用之前第9到12步(也就是把第8步注释掉)。直接在windows上运行,可以通过。导出脚本到Linux执行也能通过了。

对应代码
- *** Settings ***
- Library Selenium2Library
-
- *** Test Cases ***
- cc11
- ${chrome_options} Evaluate selenium.webdriver.ChromeOptions() modules=selenium,selenium.webdriver
- Call Method ${chrome_options} add_argument --headless
- Call Method ${chrome_options} add_argument --no-sandbox // “–no - sandbox”参数是让Chrome在root权限下跑
- Call Method ${chrome_options} add_argument disable-gpu
- Create Webdriver Chrome chrome_options=${chrome_options}
- Maximize Browser Window
- go to https://www.baidu.com/
- #open Browser https://www.baidu.com/ Chrome
- Input Text id=kw xx
- click Button id=su
- sleep 2
- close Browser
4,参数介绍

5,linux下执行
[root@c-gksk-node03-dev yangxu_case]# robot -d /opt/robotframework/yangxu_case/jieguo /opt/robotframework/yangxu_case/cc
其中-d 代表把log.html、report.html、output.xml这三个文件保存到/opt/robotframework/yangxu_case/jieguo目录;
其它的命令参数可以通过robot --help查询尝试
- [root@c-gksk-node03-dev yangxu_case]# ll
- total 452
- drwxr-xr-x 2 root root 55 Jul 20 15:10 api
- drwxr-xr-x 2 root root 43 Jul 21 11:03 cc
- drwxr-xr-x 2 root root 59 Jul 21 13:52 jieguo
- [root@c-gksk-node03-dev yangxu_case]# robot -d /opt/robotframework/yangxu_case/jieguo /opt/robotframework/yangxu_case/cc
- ==============================================================================
- Cc
- ==============================================================================
- Cc.Cc1
- ==============================================================================
- cc11 | PASS |
- ------------------------------------------------------------------------------
- Cc.Cc1 | PASS |
- 1 critical test, 1 passed, 0 failed
- 1 test total, 1 passed, 0 failed
- ==============================================================================
- Cc | PASS |
- 1 critical test, 1 passed, 0 failed
- 1 test total, 1 passed, 0 failed
- ==============================================================================
- Output: /opt/robotframework/yangxu_case/jieguo/output.xml
- Log: /opt/robotframework/yangxu_case/jieguo/log.html
- Report: /opt/robotframework/yangxu_case/jieguo/report.html
- [root@c-gksk-node03-dev yangxu_case]#
参考:
https://www.5axxw.com/questions/content/vv7nev
Robot Framework自动化测试----浏览器的无头(headless)模式和命令行运行脚本_weixin_39430584的博客-CSDN博客_浏览器无头模式
不可错过的自动化测试框架:robotframework之WebDriver功能配置 - 知乎