Release date: 2024-06-08
- iPad support
Release date: 2024-05-29
- Minimum playwright version is 1.41.0
Release date: 2024-04-16
DriverWrapper.is_tablet
DriverWrapper.is_appium
DriverWrapper.is_ios_tablet
DriverWrapper.is_ios_mobile
DriverWrapper.is_android_tablet
DriverWrapper.is_android_mobile
Element.is_fully_visible
calculationElement.is_visible
calculation
Release date: 2024-03-04
Element.size
methodElement.location
methodElement.wait_element_size
methodDriverWrapper.assert_screenshot
methodDriverWrapper.soft_assert_screenshot
methodDriverWrapper.wait
methodDriverWrapper/Element.screenshot_image
method
DriverWrapper/Element.screenshot_base
method now return image binaryDriverWrapper/Element.save_screenshot
method now saves screenshot and moved to base class- iOS only:
DriverWrapper.screenshot_base
returns image binary without native controls - iOS only:
Element.screenshot_base
screenshot size for some elements could be changed
- Type annotations
Element.is_visible/is_fully_visible
calculation- iOS only:
Element.get_bottom_bar_height
calculation
Release date: 2024-02-22
- Playwright
context.tracing
support
Release date: 2024-01-04
- Playwright
new_context
args supports
Release date: 2023-12-05
- VisualComparison: Dynamic threshold calculation
Release date: 2023-11-26
- Performance fixes for session with 2 or more browser windows
Release date: 2023-10-17
- Typo fix inside
MobileDriver
Release date: 2023-10-16
- Internal usage of Element class inside DriverWrapper
- AssertionError output of visual comparison
- Soft visual reference generation
- Soft assert screenshot
LogLevel
class
Release date: 2023-09-10
- Selenium/Appium only: Additional logging for element enabled
- Selenium/Appium element gathering and exceptions reworked
Release date: 2023-09-07
- Additional logging for element disabled
Release date: 2023-09-07
setup.py
packages
Release date: 2023-09-07
- Abstract classes and methods
DriverWrapperSessions
classDriverWrapper.browser_name
attribute- Inheritance validation
Element.scroll_into_view
'block' argument validation- Selenium/Appium only: additional warning for
element
errors
- Type annotations for some methods
Page.anchor
property now instance attribute- Some methods moved to subclasses
- Internal
Logging
reworked DriverWrapper
from previous object reworked
Release date: 2023-04-06
element.wait_enabled
methodelement.wait_disabled
methodelement.is_enabled
methodVisualComparison.default_delay
propertyVisualComparison.default_threshold
propertyDriverWrapper.switch_to_alert
method (Selenium Only)DriverWrapper.accept_alert
method (Selenium Only)DriverWrapper.dismiss_alert
method (Selenium Only)MobileDriver.click_in_alert
method (Appium Only)
- MRO for Mobile + Desktop session
- Rapidly requests for current context on mobile
element.all_elements
recursion- logging stderr to stdout
- Checkbox class removed (all methods in Element class)
- New screenshot comparison engine. By: @laruss
- Elements initialization
element.wait_clickable
renamed toelement.wait_enabled
__repr__
for Element/Group/Page- Driver with index will be added to logs always
Release date: 2023-01-17
- Error logs fixes
Release date: 2023-01-12
element.assert_screenshot
elements removal rework
Release date: 2022-12-08
- mobile
element.hide_keyboard
method added fill_background
arg inelement.assert_screenshot
- ios safaridriver support removed
- reruns disabling for visual tests without references
- Pillow warning fixes
- other fixes and improvements
Release date: 2022-12-02
element.wait_element_hidden_without_error
methodelement.assert_screenshot
hard reference generation supportelement.assert_screenshot
soft reference generation fixelement.hover
silent argument
- Reworked wait argument for
element
: False - wait element hidden; True - wait element visible page.is_page_opened
without url support- selenium - tags (locator type) updated
- DifferentDriverWrapper and elements initialization fixes
Release date: 2022-10-18
driver_wrapper.get_inner_window_size
methoddriver_wrapper.switch_to_frame
method for selenium based driverdriver_wrapper.switch_to_parent_frame
method for selenium based driverdriver_wrapper.switch_to_default_content
method for selenium based driverdriver_wrapper.delete_cookie
method for selenium/appium based driverelement.is_visible
methodelement.is_fully_visible
methodelement.__repr__
,checkbox.__repr__
,group.__repr__
,page.__repr__
scroll_into_view
beforeelement.click_into_center/hover/etc.
if element isn't visiblename_suffix
arg forelement.assert_screenshot
- Auto implemented
driver
in hidden object (function/property etc.) forelement/checkbox/group/page
- Auto implemented
parent
in hidden object (function/property etc.) forelement/checkbox
- Platform specific locator by object kwargs: ios/android/mobile/desktop
element.get_rect
for selenium desktop- All visual comparisons staff moved to
VisualComparison
class - Logging
get_object_kwargs
functioninitialize_objects_with_args
functionelement.assert_screenshot
driver name for remote- Click by location after scroll
Release date: 2022-09-20
driver_wrapper.is_native_context
property on mobiledriver_wrapper.is_web_context
property on mobiledriver_wrapper.visual_reference_generation
that disable AssertionError exception inelement.assert_screenshot
ElementNotInteractableException
handler inelement.click
element.get_rect
output value sortingPlayDriver
/CoreDriver
class variables moved toDriverWrapper
os.environ['visual']
changed todriver_wrapper.visual_regression_path
element.wait_element
exception message- Mobile: Finding elements in native context now skips parent
autolog
paramsdriver_wrapper.switch_to_tab
with default params
Release date: 2022-09-15
- screenshot name generation
Release date: 2022-09-13
element.click_into_center
methoddriver_wrapper.click_by_coordinates
method
calculate_coordinate_to_click
calculation- Shared object of groups become unique for each class
Release date: 2022-09-08
assert_screenshot()
elements removal
Release date: 2022-09-02
element.is_displayed()
exception handler
Release date: 2022-08-31
- Annotations
Release date: 2022-08-31
- Allure Screen Diff Plugin support
- Driver specific logs
- Custom exceptions
- Screenshot name generation in
assert_screenshot
KeyboardKeys
classelement.send_keyboard_action
method
get_text
property becometext
get_value
property becomevalue
get_screenshot_base
property becomescreenshot_base
get_inner_text
property becomeinner_text
by_attr
arg ofCheckbox
removedcalculate_coordinate_to_click
now calculate coordinates from element location
- Reduced count of
find_element
execution - Page
driver_wrapper
getter exception
Release date: 2022-08-10
- iOS SafariDriver basic support
- Different second driver support (for mobile/desktop safari)
- Tabs manipulating methods for desktop in
CoreDriver/PlayDriver
- Context manipulating methods for mobile in
MobileDriver
- pytest-rerunfailures support
- Type annotations for most of code
- Auto
locator_type
support forcom.android
locator element.hover
support on mobileselement.hover_outside
method, that moves pointer outside from current positionpage.swipe(_up/_down)
methods for mobile- Default cookie path/domain in
driver_wrapper.set_cookie
method
Driver
becomesDriverWrapper
for more readability- Mixins classes renamed and moved to
dyatel.mixins
folder - Selenium
core_element.wait_element
now usingis_displayed
- Selenium exception stacktrace reduced in most cases
- Custom
driver_wrapper
/driver
for child elements - Selenium
KeyError
ofdriver_wrapper.set_cookie
withoutdomain
- Driver creation with function scope of pytest
Release date: 2022-07-23
Checkbox
class for Playwright and Seleniumset_text
method inElement
classwait_elements_count
method inElement
classwait_element_text
method inElement
classwait_element_value
method inElement
classdriver_wrapper
arg forGroup
andPage
- Page/Group
set_driver
workflow CorePage
andPlayPage
methods moved toPage
Release date: 2022-07-10
_first_element
property inPlayElement
element
property replaced with_first_element
for elements interactionsparent
nesting ofElement
changed from one level to endlessPlayElement
/CoreElement
initialization
all_elements
execution time/nesting
Release date: 2022-07-07
set_driver
function for page object- Multiple drivers support
- Drivers initialization
driver
,driver_wrapper
become property methods