vkolgi commited on
Commit
d7078ff
·
1 Parent(s): d1541e3

Make changes as per the code review

Browse files
.gitignore CHANGED
@@ -1,5 +1,7 @@
1
  **/*.swp
2
  **/*.env
 
3
  .vscode
4
  puppet.db
5
  node_modules/
 
 
1
  **/*.swp
2
  **/*.env
3
+ __pycache__
4
  .vscode
5
  puppet.db
6
  node_modules/
7
+
e2e_tests/__init__.py ADDED
File without changes
e2e_tests/test_sauce_labs.py CHANGED
@@ -8,6 +8,7 @@ from appium import webdriver
8
  from appium.webdriver.common.appiumby import AppiumBy
9
  from selenium.webdriver.remote.webdriver import WebDriver
10
  from dotenv import load_dotenv
 
11
 
12
  load_dotenv()
13
 
@@ -56,7 +57,6 @@ def create_android_driver(sauce_labs=False):
56
  else:
57
  connection_url = APPIUM_SERVER_URL
58
 
59
-
60
  return webdriver.Remote(connection_url, capabilities)
61
 
62
 
@@ -69,10 +69,11 @@ def android_driver(options):
69
 
70
 
71
  def save_server_settings(driver: WebDriver):
72
- element = driver.find_element(
73
- by=AppiumBy.ID, value=f"{APP_PACKAGE_NAME}:id/settingsButton"
 
 
74
  )
75
- element.click()
76
  element = driver.find_element(
77
  by=AppiumBy.ID, value=f"{APP_PACKAGE_NAME}:id/serverUrlEditText"
78
  )
@@ -81,31 +82,19 @@ def save_server_settings(driver: WebDriver):
81
  by=AppiumBy.ID, value=f"{APP_PACKAGE_NAME}:id/uuidEditText"
82
  )
83
  element.send_keys(TEST_UUID)
84
- element = driver.find_element(
85
- by=AppiumBy.ID, value=f"{APP_PACKAGE_NAME}:id/saveButton"
 
 
86
  )
87
- element.click()
88
-
89
-
90
- def wait_for_element(
91
- driver: WebDriver, by_selector: str, selector_value: str, timeout: int = 2
92
- ):
93
- from selenium.webdriver.support.wait import WebDriverWait
94
- from selenium.webdriver.support import expected_conditions as EC
95
-
96
- try:
97
- element = WebDriverWait(driver, timeout).until(
98
- EC.presence_of_element_located((by_selector, selector_value))
99
- )
100
-
101
- except:
102
- element = None
103
- finally:
104
- return element
105
 
106
 
107
  def enable_privacy_settings(driver: WebDriver):
108
- driver.find_element(by=AppiumBy.XPATH, value='//*[@text="puppet"]').click()
 
 
 
 
109
  primary_checkbox = driver.find_element(
110
  by=AppiumBy.ID, value="android:id/switch_widget"
111
  )
 
8
  from appium.webdriver.common.appiumby import AppiumBy
9
  from selenium.webdriver.remote.webdriver import WebDriver
10
  from dotenv import load_dotenv
11
+ from utils import wait_for_element, find_and_click
12
 
13
  load_dotenv()
14
 
 
57
  else:
58
  connection_url = APPIUM_SERVER_URL
59
 
 
60
  return webdriver.Remote(connection_url, capabilities)
61
 
62
 
 
69
 
70
 
71
  def save_server_settings(driver: WebDriver):
72
+ element = find_and_click(
73
+ driver,
74
+ by_selector=AppiumBy.ID,
75
+ selector_value=f"{APP_PACKAGE_NAME}:id/settingsButton",
76
  )
 
77
  element = driver.find_element(
78
  by=AppiumBy.ID, value=f"{APP_PACKAGE_NAME}:id/serverUrlEditText"
79
  )
 
82
  by=AppiumBy.ID, value=f"{APP_PACKAGE_NAME}:id/uuidEditText"
83
  )
84
  element.send_keys(TEST_UUID)
85
+ element = find_and_click(
86
+ driver,
87
+ by_selector=AppiumBy.ID,
88
+ selector_value=f"{APP_PACKAGE_NAME}:id/saveButton",
89
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
 
91
 
92
  def enable_privacy_settings(driver: WebDriver):
93
+ element = find_and_click(
94
+ driver,
95
+ by_selector=AppiumBy.XPATH,
96
+ selector_value=f"//*[@text='puppet']",
97
+ )
98
  primary_checkbox = driver.find_element(
99
  by=AppiumBy.ID, value="android:id/switch_widget"
100
  )
e2e_tests/utils.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from selenium.webdriver.remote.webdriver import WebDriver
2
+
3
+
4
+ def wait_for_element(
5
+ driver: WebDriver, by_selector: str, selector_value: str, timeout: int = 2
6
+ ):
7
+ from selenium.webdriver.support.wait import WebDriverWait
8
+ from selenium.webdriver.support import expected_conditions as EC
9
+
10
+ try:
11
+ element = WebDriverWait(driver, timeout).until(
12
+ EC.presence_of_element_located((by_selector, selector_value))
13
+ )
14
+
15
+ except:
16
+ element = None
17
+ finally:
18
+ return element
19
+
20
+
21
+ def find_and_click(driver: WebDriver, by_selector: str, selector_value: str):
22
+ element = driver.find_element(by=by_selector, value=selector_value)
23
+ element.click()
24
+ return element