使用Selenium2Library通过机器人框架处理mozilla firefox下载框

时间:2017-09-01 08:13:03

标签: javascript html robotframework selenium2library

Mozilla download box

Page Should Contain Button    xpath = /html/body/blockquote/form/p/input
Click Button                  xpath = /html/body/blockquote/form/p/input
Confirm Action

'确认行动'可以使用关键字在警告框中选择“确定”,这在上述情况下不会发生。在我看来,Selenium2Library没有将下载框视为警告框,因为当我尝试获取提醒消息时,我收到的输出声称“没有找到警报框”。

我可以通过哪种方式在下载框中选择确定?此外,测试用例应仅依赖于Selenium2Library关键字。不能使用外部Python API。

1 个答案:

答案 0 :(得分:1)

Selenium无法处理浏览器的下载框。解决方法是禁用下载弹出窗口。您必须创建一个设置Firefox设置和下载路径的库:

def create_profile(path):
from selenium import webdriver
fp =webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",path)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/plain") //the MIME type(s) for which you want to ignore the popup

fp.update_preferences()
return fp.path

然后在testuite中导入库:

*** Settings ***
Library | path/to/library

打开浏览器时设置Firefox配置文件:

Open Browser | ${url} | ff | ff_profile_dir=path/to/download/folder