How to set preferences for FireFox in Robot Framework

主宰稳场 提交于 2019-12-03 09:07:12

I have written following python code to create profile:

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",'application/csv')
    fp.update_preferences()

Using above function in testcase as follows:

${random_string}    generate random string  3       
${path} Catenate    SEPARATOR=\\    ${TEMPDIR}  ${random_string}
${profile}= create_profile  ${path}
open browser    ${app_url}  ff  ff_profile_dir=${profile}

It saves the excel file to the location specified in the path variable.

Your keyword should return the path to created Firefox profile:

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",'application/csv')
    fp.update_preferences()
    return fp.path

And only then you can use it:

${profile_path}  Create Profile    ${path}
Open Browser    ${app_url}  ff  ff_profile_dir=${profile_path}    

You can return profile path from create_profile function and then use it open browser. Make sure to delete directory profile path in teardown test/suite

    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",'application/csv')
fp.update_preferences()
return fp.path

Use path in open browser keyword

${random_string}    generate random string  3       
${path} Catenate    SEPARATOR=\\    ${TEMPDIR}  ${random_string}
${profile_path}= create_profile  ${path}
open browser    ${app_url}  ff  ff_profile_dir=${profile_path}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!