Interact with an app using visual definitions of elements
Project description
velenium
Interact with an app using visual definitions of elements
sample usage
import unittest
from appium import webdriver
from velenium import VisualElement, HORIZONTAL_ORDER, SIMILARITY_ORDER, CV_SQDIFF
class VisualTestCase(unittest.TestCase):
def test_visual(self):
desired_caps = dict(
...
)
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
element = VisualElement(driver, 'path/to/pattern.png')
# assert element is visible
assert element.is_visible()
# wait until visual element is visible, raises TimeoutException from selenium if timeout
element.wait_until_visible()
# wait until visual element is not visible, raises TimeoutException from selenium if timeout
element.wait_until_not_visible()
# click on element
element.click()
# refresh position of element and click
element.reset_object().click()
# click and wait no visibility of the element
element.click().wait_until_not_visible()
# find with different similarity threshold, by default is 90%
VisualElement(driver, 'path/to/pattern.png', similarity=0.8).click()
# click element at 3er position in vertical order (default behaviour)
element[2].click()
VisualElement(driver, 'path/to/pattern.png', order=2).click()
# click element at 3er position in horizontal order
VisualElement(driver, 'path/to/pattern.png', order=2, disposal=HORIZONTAL_ORDER).click()
# click the very best match of element (similarity threshold applies)
VisualElement(driver, 'path/to/pattern.png', disposal=SIMILARITY_ORDER).click()
# use another cv2 method to get the match, by default uses CV_CCOEFF
VisualElement(driver, 'path/to/pattern.png', method=CV_SQDIFF).wait_until_visible()
# count matches
elements = VisualElement(driver, 'path/to/pattern.png')
print(len(elements))
# iterate over matches
for e in elements:
e.click()
# get debug images
element.debug_object()
if __name__ == '__main__':
unittest.main()
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 Distribution
velenium-0.2.1.tar.gz
(4.7 kB
view details)
File details
Details for the file velenium-0.2.1.tar.gz
.
File metadata
- Download URL: velenium-0.2.1.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c8d7b47e9bcbbd1669a77934a2b4329ad079e34971f711775218c10b8a609a0 |
|
MD5 | 5d790e8792ea4755c55547ca5c84431c |
|
BLAKE2b-256 | c642094d381926bbfb4449fd6260c6edc73eddccbcff7f667a5dfbb995252153 |