robotframework / robotframework/SeleniumLibrary
Capture Fullpage Screenshot
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.5k
- Forks
- 787
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
This is not a bug, but rather a new feature.
Often the browser page is longer that is shown and the user needs to scroll down to see the rest of the page.
Robot Framework often takes a screenshot on failure, but the screenshot captured only shows half of the page and might not include the problematic area.
It would be nice to have a keyword that captures a whole length image.
This is my python script to implement such functionality
def capture_fullpage_screenshot(url):
""" Creating a Full-Page screenshot.
Use this keyword for debugging purposes.
Creates an image called full_page_screenshot.png.
"""
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_argument("enable-automation")
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument("--disable-gpu")
driver = webdriver.Chrome(options=options)
current_window = driver.get_window_size()
driver.get(url)
time.sleep(12)
height = driver.execute_script("return document.body.scrollHeight")
driver.set_window_size(1920, height)
driver.save_screenshot("full_page_screenshot.png")
driver.set_window_size(current_window["width"], current_window["height"])
However, it is not yet properly working, as it does not work inside docker.
And it has a hardcoded file name.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem Python-Skript im Issue und untersuche die vorhandenen Einstiegspunkte für Screenshot-Keywords sowie die Docker-Ausführungsumgebung. Das Feature ist fertig, wenn ein Keyword die gesamte Seite erfasst, innerhalb von Docker funktioniert und einen Ausgabedateinamen akzeptiert, anstatt den fest codierten Namen full_page_screenshot.png zu verwenden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- testing-qa
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100