• DevToolsActivePort file doesn‘t exist


    1,Windows上写的RobotFramework的WebUI脚本,能够正常运行。导出脚本上传到Linux,在Linux系统下robot命令执行报错,如下图:

    1. [root@c-gksk-node03-dev yangxu_case]# robot cc
    2. ==============================================================================
    3. Cc
    4. ==============================================================================
    5. Cc.Cc1
    6. ==============================================================================
    7. cc11 | FAIL |
    8. WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
    9. (unknown error: DevToolsActivePort file doesn't exist)
    10. (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执行也能通过了。

    对应代码

    1. *** Settings ***
    2. Library Selenium2Library
    3. *** Test Cases ***
    4. cc11
    5. ${chrome_options} Evaluate selenium.webdriver.ChromeOptions() modules=selenium,selenium.webdriver
    6. Call Method ${chrome_options} add_argument --headless
    7. Call Method ${chrome_options} add_argument --no-sandbox // “–no - sandbox”参数是让Chrome在root权限下跑
    8. Call Method ${chrome_options} add_argument disable-gpu
    9. Create Webdriver Chrome chrome_options=${chrome_options}
    10. Maximize Browser Window
    11. go to https://www.baidu.com/
    12. #open Browser https://www.baidu.com/ Chrome
    13. Input Text id=kw xx
    14. click Button id=su
    15. sleep 2
    16. 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查询尝试

    1. [root@c-gksk-node03-dev yangxu_case]# ll
    2. total 452
    3. drwxr-xr-x 2 root root 55 Jul 20 15:10 api
    4. drwxr-xr-x 2 root root 43 Jul 21 11:03 cc
    5. drwxr-xr-x 2 root root 59 Jul 21 13:52 jieguo
    6. [root@c-gksk-node03-dev yangxu_case]# robot -d /opt/robotframework/yangxu_case/jieguo /opt/robotframework/yangxu_case/cc
    7. ==============================================================================
    8. Cc
    9. ==============================================================================
    10. Cc.Cc1
    11. ==============================================================================
    12. cc11 | PASS |
    13. ------------------------------------------------------------------------------
    14. Cc.Cc1 | PASS |
    15. 1 critical test, 1 passed, 0 failed
    16. 1 test total, 1 passed, 0 failed
    17. ==============================================================================
    18. Cc | PASS |
    19. 1 critical test, 1 passed, 0 failed
    20. 1 test total, 1 passed, 0 failed
    21. ==============================================================================
    22. Output: /opt/robotframework/yangxu_case/jieguo/output.xml
    23. Log: /opt/robotframework/yangxu_case/jieguo/log.html
    24. Report: /opt/robotframework/yangxu_case/jieguo/report.html
    25. [root@c-gksk-node03-dev yangxu_case]#

    参考:

    https://www.5axxw.com/questions/content/vv7nev

    Robot Framework自动化测试----浏览器的无头(headless)模式和命令行运行脚本_weixin_39430584的博客-CSDN博客_浏览器无头模式

    不可错过的自动化测试框架:robotframework之WebDriver功能配置 - 知乎

  • 相关阅读:
    应用案例|基于高精度三维机器视觉引导机器人自动分拣包裹的应用
    【网络爬虫】2 初探网络爬虫
    Windows 有趣功能集锦
    vue怎么跳转页面?
    MySQL8.0物理备份恢复核心流程
    文本层次语义元素
    Flink 源码解读系列 DataStream 窗口分配器 WinowAssigner
    人脸识别系统技术方案
    Spring 中不得不了解的姿势
    VMware安装与配置Linux 虚拟机
  • 原文地址:https://blog.csdn.net/xu19950210rou/article/details/125908494