Skip to content

Commit f304f65

Browse files
authored
feat: make the UA format with same as other clients (#793)
* chore: set version with / * chore: update comment * update test * update tests
1 parent c39bd8e commit f304f65

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

appium/webdriver/appium_connection.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
from urllib.parse import ParseResult
2525

2626

27+
PREFIX_HEADER = 'appium/'
28+
29+
2730
class AppiumConnection(RemoteConnection):
2831
_proxy_url: Optional[str]
2932

@@ -68,7 +71,8 @@ def _get_connection_manager(self) -> Union[urllib3.PoolManager, urllib3.ProxyMan
6871
def get_remote_connection_headers(cls, parsed_url: 'ParseResult', keep_alive: bool = True) -> Dict[str, Any]:
6972
"""Override get_remote_connection_headers in RemoteConnection"""
7073
headers = RemoteConnection.get_remote_connection_headers(parsed_url, keep_alive=keep_alive)
71-
headers['User-Agent'] = f'appium/python {library_version()} ({headers["User-Agent"]})'
74+
# e.g. appium/0.49 (selenium/3.141.0 (python linux))
75+
headers['User-Agent'] = f'{PREFIX_HEADER}{library_version()} ({headers["User-Agent"]})'
7276
if parsed_url.path.endswith('/session'):
7377
# https://github.com/appium/appium-base-driver/pull/400
7478
headers['X-Idempotency-Key'] = str(uuid.uuid4())

test/unit/webdriver/webdriver_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
)
3434

3535

36-
class TestWebDriverWebDriver(object):
36+
class TestWebDriverWebDriver:
3737
@httpretty.activate
3838
def test_create_session(self):
3939
httpretty.register_uri(
@@ -54,7 +54,7 @@ def test_create_session(self):
5454

5555
request = httpretty.HTTPretty.latest_requests[0]
5656
assert request.headers['content-type'] == 'application/json;charset=UTF-8'
57-
assert 'appium/python {} (selenium'.format(appium_version.version) in request.headers['user-agent']
57+
assert f'appium/{appium_version.version} (selenium' in request.headers['user-agent']
5858

5959
request_json = json.loads(httpretty.HTTPretty.latest_requests[0].body.decode('utf-8'))
6060
assert request_json.get('capabilities') is not None
@@ -328,7 +328,7 @@ class CustomAppiumConnection(AppiumConnection):
328328

329329
request = httpretty.HTTPretty.latest_requests[0]
330330
assert request.headers['content-type'] == 'application/json;charset=UTF-8'
331-
assert 'appium/python {} (selenium'.format(appium_version.version) in request.headers['user-agent']
331+
assert f'appium/{appium_version.version} (selenium' in request.headers['user-agent']
332332

333333
request_json = json.loads(httpretty.HTTPretty.latest_requests[0].body.decode('utf-8'))
334334
assert request_json.get('capabilities') is not None
@@ -374,7 +374,7 @@ class CustomAppiumConnection(AppiumConnection):
374374

375375
request = httpretty.HTTPretty.latest_requests[0]
376376
assert request.headers['content-type'] == 'application/json;charset=UTF-8'
377-
assert 'appium/python {} (selenium'.format(appium_version.version) in request.headers['user-agent']
377+
assert f'appium/{appium_version.version} (selenium' in request.headers['user-agent']
378378

379379
request_json = json.loads(httpretty.HTTPretty.latest_requests[0].body.decode('utf-8'))
380380
assert request_json.get('capabilities') is not None

0 commit comments

Comments
 (0)