Python SDK for SmartBear VisualTest via Selenium WebDriver
Project description
VisualTest
This Python SDK extends the functionality of Selenium WebDriver enabling the script to capture screenshots of the device under test, including fullpage, viewport, and element screenshots for regression testing or manual review of the UI.
pip install visualtest-python
Quick Setup
from selenium import webdriver
from sbvt import VisualTest
driver = webdriver.Safari()
settings = {'projectToken': "INSERT_PROJECT_TOKEN"}
visualTest = VisualTest(driver, settings)
try:
driver.get("https://www.google.com/search?q=smartbear")
visualTest.capture("Google results")
visualTest.capture("Google results viewport", {'viewport': True})
finally:
driver.quit()
Running Selenium against BitBar
Copy the file from below
Enter BitBar API_KEY and VisualTest PROJECT_TOKEN in the file
import unittest
import time
from selenium import webdriver
from sbvt import VisualTest
API_KEY = 'INSERT_BITBAR_APIKEY'
PROJECT_TOKEN = 'INSERT_PROJECT_TOKEN'
class TestSmartbearHomePage(unittest.TestCase):
import warnings
warnings.simplefilter("ignore") # turn off tracemalloc socket warnings
caps = {
'platform': 'Linux',
'osVersion': '18.04',
'browserName': 'firefox',
'version': 'latest',
'resolution': '2560x1920',
'bitbar_apiKey': API_KEY,
}
hubUrl = 'https://us-west-desktop-hub.bitbar.com/wd/hub'
driver = webdriver.Remote(command_executor=hubUrl, desired_capabilities=caps)
print(
f'Launching webdriver for {caps["platform"]} {caps["osVersion"]} {caps["browserName"]} {caps["version"]} ')
# load the url
url = 'https://www.smartbear.com'
print(f'Opening URL: {url}')
driver.get(url)
time.sleep(5)
settings = {
'projectToken': PROJECT_TOKEN,
}
visualTest = VisualTest(driver, settings)
# full page screenshot
fullPageScreenshot = visualTest.capture('Home Page')
# viewport screenshot
viewportScreenshot = visualTest.capture('viewport', {'viewport': True})
if __name__ == '__main__':
try:
unittest.main()
except Exception as e:
print(f'Error starting test {e}')
Running Selenium Locally
from sbvt import VisualTest
# pip install selenium==3.141
from selenium import webdriver
from selenium.webdriver.common.by import By
PROJECT_TOKEN = 'INSERT_PROJECT_TOKEN'
driver = webdriver.Chrome('./chromedriver')
driver.get("https://www.smartbear.com")
print(driver.title)
settings = {
'projectToken': PROJECT_TOKEN
}
visualTest = VisualTest(driver, settings)
# full page screenshot
fullPageScreenshot = visualTest.capture('Home Page')
# viewport screenshot
viewportScreenshot = visualTest.capture('viewport', {'viewport': True})
# element screenshot
heroEl = driver.find_element(By.CLASS_NAME, "sb-hp-hero-content")
visualTest.capture('Hero Content', {'element': heroEl})
print(driver.current_url)
driver.close()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file visualtest_python-1.0.0b4-py3-none-any.whl
.
File metadata
- Download URL: visualtest_python-1.0.0b4-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cb02e184e30756eb397ddf0e829f7ecbd09981769e97482cf4d139366152568 |
|
MD5 | c0761c855457efab02b907fb56d50bd2 |
|
BLAKE2b-256 | 973c5f660fcc283051d54daaeb2892f4f79ecd111d8e98454b1082e07b3f63f7 |