#python #robotframework
#python #robotframework
Вопрос:
Я пытаюсь выполнить проверку заголовка веб-страницы с помощью пользовательского скрипта Python в Robotframework.
Проблема в том, что даже если в заголовке есть «https», тест возвращается как «PASS» в журнале robotframework: похоже, что скрипт не связан с правильным сеансом драйвера или что-то в этом роде.
Я уверен, что там много ошибок, поэтому, если бы вы могли мне помочь, я был бы очень признателен.
Вот код python:
from robot.api import logger
from SeleniumLibrary import SeleniumLibrary
from SeleniumLibrary.base import keyword
from SeleniumLibrary.keywords import BrowserManagementKeywords
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from robot.libraries.BuiltIn import BuiltIn
class title_check(SeleniumLibrary):
@keyword('test_keyword')
def title_checker(self):
selib = BuiltIn().get_library_instance('SeleniumLibrary')
driver = selib._current_browser()
self.assertNotIn("https", driver.title)
и вот ключевое слово robotframework:
check title
Title_checker.test_keyword
Комментарии:
1. Это действительно ваш код? Вы явно создаете новый экземпляр драйвера, однако в следующей строке вы используете
driver
, а неself.driver
. Я не понимаю, почему вы не получаете сообщение об ошибке при запуске этого кода. Вы также не определили ключевое слово с именемkeyword
, хотя вы пытаетесь использовать ключевое слово с этим именем.2. Привет @BryanOakley Извините за вставку такого плохого кода, вот почему я прошу о помощи. Любой совет был бы высоко оценен. Что касается открытия новой версии драйвера, я много раз пытался выяснить, как подключиться к открытому фреймворку one robot, и это часть моего вопроса.
Ответ №1:
Я действительно не понимаю причину, стоящую за этим кодом Python. Я бы сделал это непосредственно в RF:
Title Checker
Open Browser ....
${title} = Get Title
Should Not Contain ${title} https
Комментарии:
1. спасибо, это очень хорошее решение, которое я игнорировал. 🙂