RobotFramework 初始化配置

一、笔记工具

二、安装 python(3.8.10)

  • python 下载地址:https://www.python.org

  • pip 换源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

三、安装 ide

四、安装 robotframework 框架和基本自动化库

# 更新 pip
python -m pip install --upgrade pip

# 安装 robotframework 框架
pip install robotframework

# 安装 SeleniumLibrary 库,web界面自动化所需的库
pip install robotframework-seleniumlibrary

# 安装 RequestsLibrary 库,接口自动化所需的库
pip install robotframework-requests

五、配置 pycharm

  1. 安装插件:File --> Settings --> Plugins --> 搜索 robot,并安装(如下图任意一个即可) --> 重启 pycharm

  2. 执行单条用例:

    • File --> Settings --> Tools --> External Tools --> 点击 +
Name: Robot Run SingleTestCase

Program: $PyInterpreterDirectory$\python

Arguments: -m robot -d logs -t "$SelectedText$" "$FileDir$\$FileName$"    ( -d log 意思是生成的结果放到 log 目录下面,$SelectedText$ 是选中的单条用例标题,$FileDir$\$FileName$ 是用例所属的测试套件)

Working dirrectory: $ProjectFileDir$    (工作目录,上面一个参数的 log 目录会创建在这个目录的下一级)
  1. 执行测试套件下所有用例:

    • File --> Settings --> Tools --> External Tools --> 点击 +
Name: Robot Run TestSuie

Program: $PyInterpreterDirectory$\python

Arguments: -m robot -d logs "$FileDir$\$FileName$"    ( $FileDir$\$FileName$ 是选中的测试套件文件)

Working dirrectory: $ProjectFileDir$
  1. 执行测试套件中带有某标签的用例:
    • File --> Settings --> Tools --> External Tools --> 点击 +
Name: Robot Run Tag

Program: $PyInterpreterDirectory$\python

Arguments: -m robot -d logs -i "$SelectedText$" "$FileDir$\$FileName$"    ( $FileDir$\$FileName$ 是选中的测试套件)

Working dirrectory: $ProjectFileDir$

六、谷歌浏览器驱动配置

  • 将 chromedriver_win64.zip 解压,将解压后的文件放在 python 安装目录下(我的是:E:\Python38)

  • 配置完成即可使用 SeleniumLibrary、RequestsLibrary 库进行以下测试

*** Settings ***
Library      SeleniumLibrary
Library      RequestsLibrary

*** Test Cases ***
test_open_browser
    open browser    url=https://www.baidu.com       browser=chrome

test_post_api
    ${headers}      create dictionary     Content-Type=application/x-www-form-urlencoded
    create session      alias=sess      url=http://apis.juhe.cn     headers=${headers}
    ${params}       create dictionary    key=cecf3bc604c338b61ae9d13ead080663       city=长沙
    ${resp}     get on session      alias=sess      url=/simpleWeather/query        params=${params}
    log     ${resp.json()}

七、注意

  • 这里使用 SeleniumLibrary 测试打开浏览器操作时会出现浏览器秒关的情况,并且浏览器头部会有一段提示

  • 解决方案:

    • 添加 chrome 特定功能的参数

      • 保持浏览器的打开状态:add_experimental_option("detach", True)

      • 禁用自动化控制特性,避免被网站检测到:add_argument("--disable-blink-features=AutomationControlled")

      • 禁用显示“Chrome 正在受到自动软件的控制”信息栏:add_experimental_option('excludeSwitches', ['enable-automation'])

*** Settings ***
Library      SeleniumLibrary
Library      RequestsLibrary

*** Test Cases ***
test_open_browser
    open browser    url=https://www.baidu.com       browser=chrome      options=add_experimental_option("detach", True);add_argument("--disable-blink-features=AutomationControlled");add_experimental_option('excludeSwitches', ['enable-automation'])

test_post_api
    ${headers}      create dictionary     Content-Type=application/x-www-form-urlencoded
    create session      alias=sess      url=http://apis.juhe.cn     headers=${headers}
    ${params}       create dictionary    key=cecf3bc604c338b61ae9d13ead080663       city=长沙
    ${resp}     get on session      alias=sess      url=/simpleWeather/query        params=${params}
    log     ${resp.json()}
posted @   yangsxuan  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示