【问题标题】:Using Selenium.Webdriver and SeleniumLibrary in Robot Framework在 Robot Framework 中使用 Selenium.Webdriver 和 SeleniumLibrary
【发布时间】:2021-04-22 00:14:05
【问题描述】:

我是 IT 和自动化 QA 方面的新手,在 RobotFramework 中使用 Selenium 库和 SeleniumLibrary 时遇到了麻烦。据我所知,SeleniumLibrary 将支持在机器人框架(RF)中使用方法作为关键字。 假设在 *.py 文件中我可以使用 Selenium 调用打开的浏览器:

driver = webdriver.Chrome() driver.get("https://google.com") ...

在 *.robot 中,我使用 SeleniumLibrary 打开一个浏览器,例如:

open browser https://google.com

在研究许多解决方案时,我在 Selenium 中找到了许多教程,它们很容易理解和应用,但在我的项目中,他们一直在通过以下方式扩展 SeleniumLibrary:

driver = SeleniumLibrary
driver.open_browser("https://google.com")

= driver.get("https://google.com") in *.py (from selenium import webdriver)

我觉得很难阅读 SeleniumLibrary 的源代码,例如如果我需要使用 find_element(By.ID/CSS/etc.., "abc") 在 *.py 和 SeleniumLibrary 中我只搜索过

def find_element(
        self,
        locator: str,
        tag: Optional[str] = None,
        required: bool = True,
        parent: WebElement = None,
    )

我不会像以前那样使用 selenium.webdriver 编写代码。 有没有人帮我清除它们?如何在 *.py 文件中使用driver.find_element(SeleniumLibrary)等于driver.find_element_by_CSS_selector(Selenium.webdriver)

【问题讨论】:

    标签: python selenium-webdriver robotframework


    【解决方案1】:

    在页面上定位元素有多种策略,请参阅文档here

    关键是你想对你定位的元素做一些事情,在 Python 中,你通常分两步完成,首先找到元素然后点击它(例如)。在 Robot Framework 中,您可以像这样一步完成:

    Click Element    id:foo
    

    就是这样。这里有两个步骤:

    • 在 DOM 中查找元素
    • 点击元素

    Robot Framework 比 Python 更高级一些,因此其中的许多任务需要的代码行数更少。我认为这是您要问的问题,但还没有真正习惯。我建议在一个小项目上使用 RF 来学习它。您始终可以在 Internet 上准备好文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-07
      • 2021-03-21
      • 2020-05-17
      • 2021-01-11
      • 2020-02-14
      • 2018-12-03
      • 2013-06-06
      • 2019-09-01
      相关资源
      最近更新 更多