Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion appium/webdriver/extensions/images_comparison.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@

from typing import Any, Dict, Union

import base64

import binascii

from appium.protocols.webdriver.can_execute_commands import CanExecuteCommands

from ..mobilecommand import MobileCommand as Command
Expand Down Expand Up @@ -147,4 +151,13 @@ def _add_commands(self) -> None:


def _adjust_image_payload(payload: Base64Payload) -> str:
return payload if isinstance(payload, str) else payload.decode('utf-8')
if isinstance(payload, str):
return payload
try:
b64_str = payload.decode('ascii')
base64.b64decode(payload,validate=True)
return b64_str
except (UnicodeDecodeError, binascii.Error):
return base64.b64encode(payload).decode('ascii')


Loading