javascript – 如何使用Robot Framework处理提示框?

我正在使用Robot Framework和Selenium2Library进行网站测试自动化.在其中一个案例中,有一个提示框(弹出类似于警报,但其中包含输入字段,请参阅example here)要求提供一些文本.问题是Robot Framework只能在这些弹出窗口中单击“确定”或“取消”(确认操作并选择“取消下一个确认”关键字).所以问题是:如何在提示框中输入一些文字?可能吗?

在SeleniumLibrary中有一个Press Key Native关键字,它可以在不指定目标元素的情况下按键,但在Selenium2Library中不存在.如果你知道任何其他选择 – 你的答案将不胜感激.

使用AutoIT不是一个选项,因为测试可以在不同的平台上运行(不仅仅是Win).

我错过了什么吗?

解决方法:

Selenium2Library目前不支持在提示中插入文本.我在问题跟踪器中为此打开了一个问题:

https://github.com/rtomac/robotframework-selenium2library/issues/292

在添加之前,您可以通过继承Selenium2Library来创建自己的selenium库,并且可以将该函数添加到您的版本中.

例如,创建一个名为“CustomSeleniumLibrary.py”的文件,并使其如下所示:

# CustomSeleniumLibrary.py
from Selenium2Library import Selenium2Library

class CustomSeleniumLibrary(Selenium2Library):
    def insert_into_prompt(self, text):
        alert = None
        try:
            alert = self._current_browser().switch_to_alert()
            alert.send_keys(text)

        except WebDriverException:
            raise RuntimeError('There were no alerts')

然后,您可以编写一个使用该库的测试用例,如下所示:

*** Settings ***
| Library | CustomSeleniumLibrary.py
| Suite Teardown | Close All Browsers

*** test cases ***
| Example of typing into a prompt
| | Open Browser | http://www.w3schools.com/js/tryit.asp?filename=tryjs_prompt
| | Select Frame | iframeResult
| | Click Button | Try it
| | Insert into prompt | my name is Inigo Montoya
| | Confirm action
上一篇:java-如何单击Robot Framework Selenium中的元素


下一篇:python-命令行变量未覆盖Robot Framework中的套件级别变量