From d16bc025cfb8fd73457b61328c613df0c03b89d1 Mon Sep 17 00:00:00 2001 From: Kazuaki MATSUO Date: Wed, 31 Oct 2018 15:52:24 +0900 Subject: [PATCH 1/2] fix python3 set_clipboard error --- README.md | 6 ++++-- appium/webdriver/webdriver.py | 11 +++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a2965f2a..733b683a 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,8 @@ from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' -desired_caps['platformVersion'] = '4.2' +desired_caps['platformVersion'] = '8.1' +desired_caps['automationName'] = 'uiautomator2' desired_caps['deviceName'] = 'Android Emulator' desired_caps['app'] = PATH('../../../apps/selendroid-test-app.apk') @@ -116,7 +117,8 @@ from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'iOS' -desired_caps['platformVersion'] = '7.1' +desired_caps['platformVersion'] = '11.4' +desired_caps['automationName'] = 'xcuitest' desired_caps['deviceName'] = 'iPhone Simulator' desired_caps['app'] = PATH('../../apps/UICatalog.app.zip') diff --git a/appium/webdriver/webdriver.py b/appium/webdriver/webdriver.py index 86b02338..2e7d5845 100644 --- a/appium/webdriver/webdriver.py +++ b/appium/webdriver/webdriver.py @@ -1271,7 +1271,7 @@ def set_clipboard(self, content, content_type=ClipboardContentType.PLAINTEXT, la :param label: Optional label argument, which only works for Android """ options = { - 'content': base64.b64encode(content), + 'content': base64.b64encode(content).decode('UTF-8'), 'contentType': content_type, } if label: @@ -1285,7 +1285,14 @@ def set_clipboard_text(self, text, label=None): :param text: The text to be set :param label: Optional label argument, which only works for Android """ - self.set_clipboard(bytes(text.encode('UTF-8')), ClipboardContentType.PLAINTEXT, label) + + def _bytes(value, encoding): + try: + return bytes(value, encoding) # Python 3 + except TypeError: + return value # Python 2 + + self.set_clipboard(_bytes(str(text), 'UTF-8'), ClipboardContentType.PLAINTEXT, label) def get_clipboard(self, content_type=ClipboardContentType.PLAINTEXT): """ From 5409080dc9e89c12b914ef57ddabf3d1160534cc Mon Sep 17 00:00:00 2001 From: Kazuaki MATSUO Date: Wed, 31 Oct 2018 15:55:22 +0900 Subject: [PATCH 2/2] apply formatter --- appium/webdriver/webdriver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appium/webdriver/webdriver.py b/appium/webdriver/webdriver.py index 2e7d5845..fef0a26a 100644 --- a/appium/webdriver/webdriver.py +++ b/appium/webdriver/webdriver.py @@ -1288,9 +1288,9 @@ def set_clipboard_text(self, text, label=None): def _bytes(value, encoding): try: - return bytes(value, encoding) # Python 3 + return bytes(value, encoding) # Python 3 except TypeError: - return value # Python 2 + return value # Python 2 self.set_clipboard(_bytes(str(text), 'UTF-8'), ClipboardContentType.PLAINTEXT, label)