Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как запустить IE9 с предварительной настройкой в RobotFramework

robot-framework
internet-explorer
python
webdriver
Теги: #<Tag:0x00007f7b63fa5218> #<Tag:0x00007f7b63fa50d8> #<Tag:0x00007f7b63fa4f98> #<Tag:0x00007f7b63fa4e58>

(Viktor Kazankov) #1

Задача: Для выполнения тестов надо предварительно в RF запустить браузер IE9 перед этим очистить его от всех сессий.
Я пытаюсь это сделать так:

    *** Test Cases ***

    Authorization
    Open Browser    ${HOMEPAGE}    ${BROWSER}    desired_capabilities=${caps}
    Maximize Browser Window


   *** Keywords ***

    Create Dictionary    ${caps}    ie.ensureCleanSession    ${True}



   *** Variables ***

    ${BROWSER}   ie
    ${HOMEPAGE}  <my site>


    ${caps}=    Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.INTERNETEXPLORER sys,selenium.webdriver

Браузер та у меня запускается, на сайт переходит, но сессии не чистит. Может плиз кто-то подсказать в чем причина?


(Dmitriy Zverev) #2

Возможно, Вам надо удалить cookies
Selenium2Library.Delete All Cookies


(Viktor Kazankov) #3

Проверил, не подходит. Мне нужно именно сессии авторизации удалять. В обычном Selenium-е я это делал так:

 DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
    //clean all sessions
    ieCapabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
    driver = new InternetExplorerDriver(ieCapabilities);
    driver.manage().window().maximize();
    driver.get("<my site>");

(Dmitriy Zverev) #4

DesiredCapabilities в robot framework задается в Open Browser
http://robotframework.org/Selenium2Library/Selenium2Library.html#Open%20Browser

я вижу, что вы его используете, но не понимаю ваш код

в моем понимании надо написать примерно так

&{caps} = Create Dictionary     ie.ensureCleanSession=${True}
Open Browser    ${HOMEPAGE}    ${BROWSER}    desired_capabilities=${caps}

(Viktor Kazankov) #5

Не работает у меня этот код. Только что перепроверил. Браузер запускается но сессии не чистятся. Пока частично решил проблему с помощью Delete all cookies. Но хотелось бы иметь возможность запускать браузер с определенными настройками.
Спасибо за ответ


(Yulia Vergun) #6

Здравствуйте! Вы решили данную проблему?


(Viktor Kazankov) #7

Нет, я не запускаю браузер с определенными настройками.
Моя проблема заключалась в появлении авторизации к приложению, если куки до этого были не почищены. Я хотел запускать чистый браузер всегда(соответственно авторизация также происходила бы при каждом запуске).
Решил свою проблему просто:

Run Keyword if  <форма авторизации отображается>  Run keywords  User not is logged
    ...  ELSE  Run Keywords  User is logged

Ну соответственно в конце удаляем все куки, как посоветывал Дмитрий:

Selenium2Library.Delete All Cookies