Skip to content

Commit 2193837

Browse files
authored
fix: replace assert with ValueError for state validation (#1219)
The use of `assert` for application logic or state checking is discouraged because assertions are removed when Python runs with optimization (-O). This change replaces `assert self.caps` with an explicit `if` check that raises `ValueError`, ensuring that the driver capabilities are always validated even in optimized environments.
1 parent 30dad44 commit 2193837

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

appium/webdriver/webdriver.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,8 @@ def _update_command_executor(self, keep_alive: bool) -> None:
303303
direct_port = 'directConnectPort'
304304
direct_path = 'directConnectPath'
305305

306-
assert self.caps, 'Driver capabilities must be defined'
306+
if not self.caps:
307+
raise ValueError('Driver capabilities must be defined')
307308
if not {direct_protocol, direct_host, direct_port, direct_path}.issubset(set(self.caps)):
308309
message = 'Direct connect capabilities from server were:\n'
309310
for key in [direct_protocol, direct_host, direct_port, direct_path]:

0 commit comments

Comments
 (0)