【问题标题】:Convert Python code to Robot Framework将 Python 代码转换为机器人框架
【发布时间】:2014-12-29 14:28:07
【问题描述】:

我有一段需要转换为机器人框架的 python 代码。

这是python代码..

chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : "G:/"}
chromeOptions.add_experimental_option("prefs",prefs)
chromedriver = "C:/Python27/chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chromeOptions)

是否可以让它在 Robot Framework 中工作?

我对 Robot Framework 了解不多。

【问题讨论】:

    标签: python selenium robotframework


    【解决方案1】:

    使用Selenium2Library,该代码的直接翻译如下所示:

    ${chromeOptions}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    ${prefs}=    Create Dictionary    download.default_directory    G:/
    Call Method    ${chromeOptions}    add_experimental_option    prefs    ${prefs}
    ${chromedriver}=    Set Variable    C:/Python27/chromedriver.exe
    Create Webdriver    Chrome    chrome    executable_path=${chromedriver}    chrome_options=${chromeOptions}
    Go To    http://someurl/
    [Teardown]    Close All Browsers
    

    此代码依赖于两个库导入 - Selenium2Library 和 Collections。在调整了我的系统的路径后它起作用了。

    【讨论】:

    • 我收到以下错误:设置变量“${chromeOptions}”失败:不再可能在变量表中创建具有列表值的标量变量。创建一个列表变量“@{chromeOptions}”并将其用作标量变量“${chromeOptions}”。
    • 设置变量“${prefs}”失败:不再可能在变量表中创建具有列表值的标量变量。创建一个列表变量“@{prefs}”并将其用作标量变量“${prefs}”。
    • 设置变量“调用方法”失败:变量名称“调用方法”无效。
    • 设置变量“${chromedriver}”失败:无法再在变量表中创建具有列表值的标量变量。创建一个列表变量“@{chromedriver}”并将其用作标量变量“${chromedriver}”。
    • @louis:如果您收到有关变量表的错误,那您就做错了——这段代码都应该是关键字或测试用例的一部分(答案中显示的示例是部分给定[teardown])
    【解决方案2】:

    鉴于您已经了解 Python,我会引导您回答有关如何在 Robot Framework 中实现 Python 的任何问题(该编码主要是在 Python 方面)。如果您想要做的只是打开一个新的浏览器实例到一个网页,那么Open Browser 关键字可能会简化大部分代码。要更改 Chrome 中的设置,请参阅解释如何在 Robot Framework 中实现 Python 代码的问题或使用 ombre42 的建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-28
      • 2023-03-27
      • 1970-01-01
      • 2022-10-05
      • 2020-03-13
      • 2021-06-23
      • 1970-01-01
      相关资源
      最近更新 更多