RobotFrameWork环境搭建及使用

发布时间 2023-08-02 20:50:37作者: yetangjian

RF环境搭建

  1. 首先安装python并且配置python环境变量
  2. pip install robotframework
  3. pip install robotframework-ride 生产桌面快捷方式 不行换豆瓣源
  4. 检查一下pip list

RF类库和扩展库

标准库

  1.  按F5快捷键查询,可以看到rf自带的库不需要额外安装
  2. 这些标准库在python的 \Lib\site-packages\robot\libraries中

扩展库(需要通过pip命令额外安装的库)

  • 这些扩展库在python的 \Lib\site-packages中
  • web自动化测试:SeleniumLibrary
  •   安装:pip install robotframework-seleniumlibrary
  • 接口自动化测试:RequestsLibrary
  •   安装:pip install robotframework-requests
  • app自动化测试:AppiumLibrary
  •   安装:pip install robotframework-appiumlibrary

基本使用

  1. 先建项目new directory -> 再建立测试套件new suit(拓展库导入包文件) ->在建立测试用例new test case
  2. 关键字使用提示快捷键:shift + ctrl + 空格 或者 ctrl + alt + 空格

SeleniumLibrary

下载驱动

  • 谷歌浏览器
    •  下载驱动地址:http://npm.taobao.org/mirrors/chromedriver/,下载后解压的Chromedriver.exe放在python的目录下即可(因为这个目录会配置环境变量)
    • 谷歌浏览器的版本(浏览器【帮助】-【版本】)一定要和驱动兼容
  • 火狐浏览器(同上方)
    • 下载驱动地址:https://github.com/mozilla/geckodriver/releases,下载最新版本就可以了,火狐会兼容的
  • 自动更新版本运用webdriver-manager
    • pip install webdriver-manager或者换豆瓣源下载
# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

#driver = webdriver.Chrome(ChromeDriverManager().install())

#driver = webdriver.Firefox(GeckoDriverManager().install())

driver = webdriver.Edge(EdgeChromiumDriverManager().install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

 分层:页面元素层(资源文件.txt),业务逻辑层(资源文件.txt),测试用例层(测试套件|数据驱动)

调用关系:业务逻辑层去调用页面元素层 -> 测试用例层去调用业务逻辑层 -> 测试用例层使用模板做数据驱动

  1. 页面元素层(资源文件.txt)
    1. 注意导包SeleniumLibrary
    2. 创建new user keywords,将每一步元素操作分开
    3. 数据参数化

  2. 业务逻辑层(资源文件.txt)
    1. 注意需要调用页面元素层
    2. 创建new user keywords,调用页面元素层的keywords(如下图)
    3. 页面元素层的参数化这边需要继续参数化调用

  3. 测试用例层(测试套件|数据驱动)
    1. 调用业务逻辑层

    2. 模板使用业务逻辑层的keywords

    3. 用例中下方设置的用例会逐个执行模板中的逻辑

RequestsLibrary

作为一款具有关键字驱动的软件,我们要用好这个特点,我们在设计用例的时候,尽量多的去封装一些常用的功能成关键字,例如登陆之类的功能。

和selenium库一样,测试套件下建立测试用例,测试资源txt文件下方测试关键字

 create session 和 update session来创建session和更新session