标签: selenium2library

使用 Robot Framework 手动输入(验证码)?

我正在使用 Robot Framework + Selenium2Library 编写网络验收测试。关键是网络包含一些我无法自动化的输入字段(CAPTCHA),并且我无法告诉我的供应商在运行测试时关闭此功能。所以我必须手动输入这个字段。现在我正在这样做:

Create User
    [Arguments]            ${username}    ${password}
    Open Browser           ${URL}         ${BROWSER}
    Input Text             username       ${username}
    Input Text             password       ${password}
    Sleep                  10             # XXX input CAPTCHA manually here!
    Click Button           submit
    Page Should Contain    ${username} has been created.
Run Code Online (Sandbox Code Playgroud)

当我告诉 Robot Framework 时,我已经输入了验证码Sleep 10,到目前为止一切顺利。但我想知道是否有办法告诉机器人框架无限期地等待,然后在我输入完验证码后继续自动化任务?

robotframework selenium2library

3
推荐指数
1
解决办法
8828
查看次数

Robot Framework 文本字段清除和输入

我正在使用 Robot Framework 自动化网页。该页面具有异常的文本字段,这些字段会在输入无效值时按 Enter接收自动输入(不是占位符值)。

这是文本字段:

<div class="bound_value">
	<input id="ember475" size="5" type="text" class="ember-view ember-text-field">
	<input id="ember476" type="checkbox" class="ember-view ember-checkbox">
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试过处理Input TextPress Key。我是一个初学者程序员,所以请原谅我的措辞。

  • 使用Input Text:行为就像我单击字段,清除内容,按 Enter 然后输入值。

  • 使用Press Key的行为就像我点击了字段 add 刚刚输入的输入添加到我已经包含的内容中。

Clear Element Text + Press Key 的工作方式与Input Text相同。

我需要一种方法来单击文本字段,删除内容,不按 Enter 键,输入文本,然后按 Enter 键。

如何使用 RIDE 自定义库执行此操作?

预先感谢您的努力。

automation input textfield robotframework selenium2library

3
推荐指数
1
解决办法
3万
查看次数

使用Robot Framework创建一个空列表并在迭代中推送数据

我需要进行一个循环填充的集合。因此,我需要一个全局集合,并且需要使用Robot Framework在For Loop中使用该集合变量。

请看一下代码

*** Settings ***
Library    Selenium2Library
Library    Collections

*** Keywords ***
Parent Routine
    ${ScoreList} ???
    : For    ${i}     IN RANGE    1    5
    \    Append To List    ${ScoreList}    ${i}
    #\    Some other manipulation


*** Test Cases ***
Sample Test Case
    [Documentation]   Simple test for Collection
    Parent Routine
Run Code Online (Sandbox Code Playgroud)

我提到了http://robotframework.org/robotframework/latest/libraries/Collections.html

请协助我如何实现这一目标。

selenium pycharm robotframework selenium2library robotframework-ide

3
推荐指数
1
解决办法
9247
查看次数

等到页面加载完毕

在Robot Framework中,任何库中的任何关键字都可以实现吗?打开浏览器转到 仅转到请求的URL,但不要等到页面文档完全加载.

robotframework selenium2library

2
推荐指数
1
解决办法
1万
查看次数

根据元素的存在运行机器人关键字

有没有办法获取有关机器人框架中页面上是否存在元素的信息?

如果页面上存在元素,我想采取一项行动,如果元素不存在,我想采取另一种行动。

在Selenium中,我将使用findElements(),这将返回元素列表,如果未找到任何内容,则返回一个空列表。

但是,在Robot中,如果我使用却Get webelements什么也没找到,则测试因错误而中断:

ValueError: Element locator 'id=asdf' did not match any elements.
Run Code Online (Sandbox Code Playgroud)

automated-tests robotframework selenium2library

2
推荐指数
1
解决办法
1342
查看次数

找不到带有定位器 'x​​path=//*[@id="1"]/button' 的元素

我正在用 Selenium2 库编写机器人框架测试,但我无法访问按钮,一页上有许多相同的按钮,所以它没有 id。我尝试访问元素的那些方式:

Click Element   xpath=//*[@id="1"]/button
Click Button    xpath=//*[@id="1"]/button
Click Element   name=add
Click Button    name=add
Click Element   add
Click Button    add
Run Code Online (Sandbox Code Playgroud)

但它没有找到元素。我试过单击按钮,结果相同。元素是:

<button class="add-to-cart" name="add" data-id="1">Add Course</button>
Run Code Online (Sandbox Code Playgroud)

谁能帮助我我做错了什么?

robotframework selenium2library

2
推荐指数
1
解决办法
8194
查看次数

如何使用selenium2library检查文件是否从浏览器下载

有人可以帮助我如何使用selenium2library,RobotFramework检查文件是否已从浏览器下载.在我当前的测试中,我可以单击下载按钮并且文件正在下载但是如果文件没有下载则会发生什么情况.任何示例代码都很有帮助.

robotframework selenium-webdriver selenium2library

1
推荐指数
1
解决办法
9786
查看次数

在 RIDE(机器人框架)中添加 chrome web 驱动程序

我是机器人框架的新手。

我已经把chromedriver.exe文件放在系统路径中。现在,当我在 RIDE 中运行脚本时,出现此错误:

WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

在 RIDE 本身中还有其他设置路径的方法吗?

更新:我的路径变量包括: C:\Driver\chromedriver.exe;

selenium webdriver robotframework selenium-chromedriver selenium2library

1
推荐指数
1
解决办法
5379
查看次数

机器人框架中的 chrome 选项

我正在尝试从网页上的链接下载文件。然而,我收到恼人的警告“这种类型的文件可能会造成伤害......无论如何?保留,丢弃”。我尝试了多种选择来避免警告,但仍然收到警告。我正在使用机器人框架,但是我正在使用 python 为我创建新关键字。

@keyword('open "${url}" in chrome browser')
    def open_chrome_browser(self, url):
        options = webdriver.ChromeOptions()
        options.add_argument("--start-maximized")
        options.add_argument("--disable-web-security")
        options.add_argument("--allow-running-insecure-content")
        options.add_argument("--safebrowsing-disable-extension-blacklist")
        options.add_argument("--safebrowsing-disable-download-protection")
        prefs = {'safebrowsing.enabled': 'true'}
        options.add_experimental_option("prefs", prefs)
        self.open_browser(url, 'chrome',alias=None, remote_url=False, desired_capabilities=options.to_capabilities(), ff_profile_dir=None)
Run Code Online (Sandbox Code Playgroud)

有人可以建议一种禁用下载警告的方法吗?

python robotframework selenium2library

1
推荐指数
1
解决办法
2万
查看次数

将项目添加到 Robot Framework 中的列表变量

我有这段代码,我试图循环遍历类似的 Xpath 来获取它们的文本,并使用机器人农场作业将文本值添加到列表中

: FOR    ${i}    IN RANGE    2    ${count}+1
\  sleep  10s
\  ${j}   Get Text    //*[@id="stats"]/div/div/div[2]/div/div/div/div[${i}]/div[1]
\  Append To List     @{dbws_datapoints}    ${j}
\  log  @{dbws_datapoints}[${j}]
Run Code Online (Sandbox Code Playgroud)

代码执行时没有错误,但它没有打印列表,而是将结果记录在日志文件中,如下所示

对于 ${i} 在范围 [ 2 | ] 内 ${count}+1]

我也附上了屏幕截图。 结果文件图像

测试脚本图像

请帮忙

selenium python-2.7 robotframework selenium2library

0
推荐指数
1
解决办法
2万
查看次数

'chromedriver' 可执行文件需要在 PATH 中。机器人框架pycharm

我是 Robot 框架的新手,我已经按照链接中的所有设置相关步骤进行了操作 ,但是,我遇到了一些无法识别的错误。任何人,请帮忙。

  *** Settings ***
  Documentation     Simple example using SeleniumLibrary.
  Library           Selenium2Library
  Library           OperatingSystem


  *** Variables ***
  ${LOGIN URL}      https://www.google.com/
  ${BROWSER}        Chrome
  ${EXECDIR}        C:\chromedriver_win32\chromedriver.exe


  *** Test Cases ***
  Checking browser to login page
  Setup chromedriver
  Open Browser To Login Page

  *** Keywords ***
  Open Browser To Login Page
  Open Browser    ${LOGIN URL}    ${BROWSER}


  Setup chromedriver
  Set Environment Variable  webdriver.chrome.driver  ${EXECDIR}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

  C:\Users\sanat\AppData\Local\Programs\Python\Python36-32\Scripts\pybot.bat 
  Smoke.robot
  ======================================================================
  Smoke :: Simple example using SeleniumLibrary.                                

  =====================================================================
  Checking browser to login page …
Run Code Online (Sandbox Code Playgroud)

python pycharm robotframework selenium2library

0
推荐指数
1
解决办法
2万
查看次数