@@ -6912,26 +6912,41 @@ def __assert_shadow_element_visible(self, selector):
6912
6912
6913
6913
# Application "Local Storage" controls
6914
6914
6915
+ def __is_valid_storage_url(self):
6916
+ url = self.get_current_url()
6917
+ if url and len(url) > 0:
6918
+ if ("http:") in url or ("https:") in url or ("file:") in url:
6919
+ return True
6920
+ return False
6921
+
6915
6922
def set_local_storage_item(self, key, value):
6916
6923
self.__check_scope()
6924
+ if not self.__is_valid_storage_url():
6925
+ raise WebDriverException("Local Storage is not available here!")
6917
6926
self.execute_script(
6918
6927
"window.localStorage.setItem('{}', '{}');".format(key, value)
6919
6928
)
6920
6929
6921
6930
def get_local_storage_item(self, key):
6922
6931
self.__check_scope()
6932
+ if not self.__is_valid_storage_url():
6933
+ raise WebDriverException("Local Storage is not available here!")
6923
6934
return self.execute_script(
6924
6935
"return window.localStorage.getItem('{}');".format(key)
6925
6936
)
6926
6937
6927
6938
def remove_local_storage_item(self, key):
6928
6939
self.__check_scope()
6940
+ if not self.__is_valid_storage_url():
6941
+ raise WebDriverException("Local Storage is not available here!")
6929
6942
self.execute_script(
6930
6943
"window.localStorage.removeItem('{}');".format(key)
6931
6944
)
6932
6945
6933
6946
def clear_local_storage(self):
6934
6947
self.__check_scope()
6948
+ if not self.__is_valid_storage_url():
6949
+ return
6935
6950
self.execute_script("window.localStorage.clear();")
6936
6951
if self.recorder_mode:
6937
6952
time_stamp = self.execute_script("return Date.now();")
@@ -6941,6 +6956,8 @@ def clear_local_storage(self):
6941
6956
6942
6957
def get_local_storage_keys(self):
6943
6958
self.__check_scope()
6959
+ if not self.__is_valid_storage_url():
6960
+ raise WebDriverException("Local Storage is not available here!")
6944
6961
return self.execute_script(
6945
6962
"var ls = window.localStorage, keys = []; "
6946
6963
"for (var i = 0; i < ls.length; ++i) "
@@ -6950,6 +6967,8 @@ def get_local_storage_keys(self):
6950
6967
6951
6968
def get_local_storage_items(self):
6952
6969
self.__check_scope()
6970
+ if not self.__is_valid_storage_url():
6971
+ raise WebDriverException("Local Storage is not available here!")
6953
6972
return self.execute_script(
6954
6973
r"var ls = window.localStorage, items = {}; "
6955
6974
"for (var i = 0, k; i < ls.length; ++i) "
@@ -6961,24 +6980,32 @@ def get_local_storage_items(self):
6961
6980
6962
6981
def set_session_storage_item(self, key, value):
6963
6982
self.__check_scope()
6983
+ if not self.__is_valid_storage_url():
6984
+ raise WebDriverException("Session Storage is not available here!")
6964
6985
self.execute_script(
6965
6986
"window.sessionStorage.setItem('{}', '{}');".format(key, value)
6966
6987
)
6967
6988
6968
6989
def get_session_storage_item(self, key):
6969
6990
self.__check_scope()
6991
+ if not self.__is_valid_storage_url():
6992
+ raise WebDriverException("Session Storage is not available here!")
6970
6993
return self.execute_script(
6971
6994
"return window.sessionStorage.getItem('{}');".format(key)
6972
6995
)
6973
6996
6974
6997
def remove_session_storage_item(self, key):
6975
6998
self.__check_scope()
6999
+ if not self.__is_valid_storage_url():
7000
+ raise WebDriverException("Session Storage is not available here!")
6976
7001
self.execute_script(
6977
7002
"window.sessionStorage.removeItem('{}');".format(key)
6978
7003
)
6979
7004
6980
7005
def clear_session_storage(self):
6981
7006
self.__check_scope()
7007
+ if not self.__is_valid_storage_url():
7008
+ return
6982
7009
if not self.recorder_mode:
6983
7010
self.execute_script("window.sessionStorage.clear();")
6984
7011
else:
@@ -7000,6 +7027,8 @@ def clear_session_storage(self):
7000
7027
7001
7028
def get_session_storage_keys(self):
7002
7029
self.__check_scope()
7030
+ if not self.__is_valid_storage_url():
7031
+ raise WebDriverException("Session Storage is not available here!")
7003
7032
return self.execute_script(
7004
7033
"var ls = window.sessionStorage, keys = []; "
7005
7034
"for (var i = 0; i < ls.length; ++i) "
@@ -7009,6 +7038,8 @@ def get_session_storage_keys(self):
7009
7038
7010
7039
def get_session_storage_items(self):
7011
7040
self.__check_scope()
7041
+ if not self.__is_valid_storage_url():
7042
+ raise WebDriverException("Session Storage is not available here!")
7012
7043
return self.execute_script(
7013
7044
r"var ls = window.sessionStorage, items = {}; "
7014
7045
"for (var i = 0, k; i < ls.length; ++i) "
0 commit comments