RobotFramework测试框架(12)--第三方库

Library 

关于射频指南 |机器人框架 (robotframework.org)

使用RF需要使用Library,常用的第三方库如下:

在web浏览器中进行web应用程序测试可以使用的库是

  • Selenium Library 在内部使用流行的 Selenium 工具的 Web 测试库
  • Browser Library 由 Playwright 提供支持。以速度、可靠性和可见性为目标。

web service和restful API可以用的库是

  • Requests Library 一个机器人框架库,旨在通过包装众所周知的 Python 请求库来提供 HTTP API 测试功能

Appium Library Android and iOS UI测试,内部使用appium. 

Database Library 基于python的数据库测试

selenium Library

selenium Library是RF的一个web测试库,内部使用selenium。

pip install --upgrade robotframework-seleniumlibrary

selenium Library关键字可以从下链接中查询。

https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html

 新建一个test.robot文件,robot是RF测试用例文件的后缀。

 首先在Settings导入SeleniumLibrary,然后在TestCase里写测试用例,如下例的Open Browser都是SeleniumLibrary提供的关键字,如下用例打开edge浏览器,输入框中输入关键字,并点击百度一下按钮,最后关闭浏览器。

*** Settings ***
Library     SeleniumLibrary

*** Test Cases ***
Search keywords in baidu

    Open Browser    url=https://www.baidu.com    browser=edge
    Input Text    //input[@id="kw"]    周杰伦
    Click Element    //input[@id="su"]
    Sleep    5
    Close Browser

从SeleniumLibrary库的文件结构可以看到,keywords包含如下相关的关键字。

 

关键字

如下为Click Element关键字的源码,可以看出,关键字本质是@keyword修饰的方法

如果存在modifier或action_chain,则调用对应方法,如果不存在则直接调用selenium的元素点击方法。

@keyword
    def click_element(
        self,
        locator: Union[WebElement, str],
        modifier: Union[bool, str] = False,
        action_chain: bool = False,
    ):
   if is_truthy(modifier):
            self._click_with_modifier(locator, [None, None], modifier)
   elif action_chain:
            self._click_with_action_chain(locator)
   else:
            self.info(f"Clicking element '{locator}'.")
            self.find_element(locator).click()

导入Library失败

 原因是python环境变量错了,电脑上有3.7的和3.8的,我用的3.8的,但是没有把3.8设置为环境变了

输入关键字,会有提示如图Input password,会提示让输入定位和密码。

Browser Library

这个库是由playwright支持的

Browser Library | ROBOT FRAMEWORK

pip install robotframework-browser

rfbrowser init 

Installing playwright...
Installing playwright-chromium...
Installing playwright-firefox...
Installing playwright-webkit...
Done!

 Requests Library

这个库可以进行API测试,基于Python的Requests

pip install robotframework-requests

*** Settings ***
Library               RequestsLibrary

*** Test Cases ***

Quick Get Request Test
    ${response}=    GET  https://www.google.com

Quick Get Request With Parameters Test
    ${response}=    GET  https://www.google.com/search  params=query=ciao  expected_status=200

Quick Get A JSON Body Test
    ${response}=    GET  https://jsonplaceholder.typicode.com/posts/1
    Should Be Equal As Strings    1  ${response.json()}[id]

 

相关推荐

  1. RobotFramework测试框架11)--变量文件

    2024-04-07 15:48:01       16 阅读
  2. 【Python】复习12:标准

    2024-04-07 15:48:01       20 阅读
  3. python

    2024-04-07 15:48:01       15 阅读
  4. 【rust 】serde 序列化反序列化框架

    2024-04-07 15:48:01       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-07 15:48:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-07 15:48:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-07 15:48:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-07 15:48:01       20 阅读

热门阅读

  1. GraphQL入门教程:构建更高效的APIs

    2024-04-07 15:48:01       11 阅读
  2. C++之eigen库学习

    2024-04-07 15:48:01       15 阅读
  3. 阿里+++

    阿里+++

    2024-04-07 15:48:01      11 阅读
  4. SpringBoot学习笔记

    2024-04-07 15:48:01       16 阅读
  5. Qt文本搜索

    2024-04-07 15:48:01       15 阅读
  6. 如何设置redis集群

    2024-04-07 15:48:01       16 阅读
  7. 前端面试经验

    2024-04-07 15:48:01       19 阅读
  8. 训练营十四天(二叉树的遍历)

    2024-04-07 15:48:01       39 阅读
  9. 1688详情、搜索、店铺、图搜

    2024-04-07 15:48:01       22 阅读
  10. day19-归并两个有序数组

    2024-04-07 15:48:01       17 阅读