Skip to content

Commit 4519e93

Browse files
committed
Local shipment test ok
1 parent f4cda72 commit 4519e93

File tree

1 file changed

+45
-19
lines changed

1 file changed

+45
-19
lines changed

transcrypt/development/shipment/shipment_test.py

Lines changed: 45 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,39 +44,65 @@ def __init__ (self):
4444
self.options.add_argument ('--disable-extensions')
4545

4646
self.webDriver = selenium.webdriver.Chrome (chrome_options = self.options)
47-
self.browserIsRunning = False
47+
self.nrOfTabs = 0
4848

49-
def open (self, url):
49+
def waitForNewTab (self):
50+
while len (self.webDriver.window_handles) <= self.nrOfTabs:
51+
time.sleep (0.5)
52+
self.nrOfTabs = len (self.webDriver.window_handles)
53+
54+
55+
def open (self, url, run):
5056
print (f'Browser controller is opening URL: {url}')
5157

52-
if self.browserIsRunning:
53-
54-
if commandArgs.unattended:
58+
try:
59+
if self.nrOfTabs > 0:
5560

56-
# ---- Show in existing tab
61+
if commandArgs.unattended:
5762

58-
self.webDriver.execute_script (f'window.location.href = "{url}";')
63+
# ---- Show in existing tab
64+
65+
self.webDriver.execute_script (f'window.location.href = "{url}";')
66+
else:
67+
68+
# ---- Open new tab
69+
70+
self.webDriver.execute_script (f'window.open ("{url}","_blank");') # !!! Avoid redundant open command
71+
self.waitForNewTab ()
72+
self.webDriver.switch_to.window (self.webDriver.window_handles [-1])
5973
else:
6074

61-
# ---- Open new tab
75+
# ---- Open browser and default tab
6276

63-
self.webDriver.execute_script (f'window.open ("{url}","_blank");')
64-
else:
65-
66-
# ---- Open browser and default tab
67-
68-
self.webDriver.get (url)
69-
self.browserIsRunning = True
77+
self.webDriver.get (url)
78+
self.waitForNewTab ()
79+
except:
80+
self.webDriver.switch_to.alert.accept();
7081

71-
try:
72-
self.message = self.webDriver.find_element_by_id ('message')
82+
if run:
83+
while (True):
84+
self.message = self.webDriver.find_element_by_id ('message')
85+
if 'failed' in self.message.text or 'succeeded' in self.message.text:
86+
break
87+
time.sleep (0.5)
88+
89+
print ()
90+
print ('=========================================================================')
7391
print (f'Back to back autotest, result: {self.message.text.upper ()}')
92+
print ('=========================================================================')
93+
print ()
94+
7495
if 'succeeded' in self.message.text:
7596
return True
7697
else:
7798
return False
78-
except:
99+
else:
100+
print ()
101+
print ('=========================================================================')
79102
print ('No back to back autotest')
103+
print ('=========================================================================')
104+
print ()
105+
80106
return True
81107

82108
browserController = BrowserController ()
@@ -173,7 +199,7 @@ def test (relSourcePrepath, run, extraSwitches, messagePrename = '', nodeJs = Fa
173199
else:
174200
url = f'{pythonHttpServerUrl}/{relSourcePrepath}.html'
175201

176-
success = browserController.open (url)
202+
success = browserController.open (url, run)
177203

178204
if commandArgs.unattended and not success:
179205
relSourcePrepathsOfErrors.append (relSourcePrepath)

0 commit comments

Comments
 (0)