is it possible to access SaaS Test Manager from a python script using selenium to import multiple Test Scripts
![]() SaaS: v7.0.2 SR1
Python: 3.9
Wish to access SaaS Test Manager from a python script using selenium in order to import multiple Test Scripts.
Progress so far:
Login page opens - I manually login,
Test Script Import page opens correctly, but fails to find the Test Script selector,
my best guess is 'jazz_ui_MenuPopup_8_dropdown'
from selenium import webdriver #needed pip install selenium
from webdriver_manager.chrome import ChromeDriverManager #needed pip install webdriver-manager
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://telent-dng.clm.ibmcloud.com/qm/web/console/TPCMS%20inc%20RemoteSecure#action=com.ibm.rqm.planning.home.actionDispatcher&subAction=importTestScript")
# open Test Manager page in chrome, press cntrol-U to view page detail
time.sleep(5) #allows time for page to open completely
print(driver.title) #correct
print(driver.current_url) #correct
script_type = driver.find_element(By.ID,'jazz_ui_MenuPopup_8_dropdown')
|
One answer
![]() Answer is YES:
from selenium import webdriver #needed pip install selenium
from webdriver_manager.chrome import ChromeDriverManager #needed pip install webdriver-manager
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import os
import keyring #needed pip install keyring
path_of_the_directory= 'D:\workspace\convert_test_scripts\output'
pw = keyring.get_password("DOORS","dsedar") #extracted from Windows
ext = ('.xml')
print("XML files:")
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging']) # supresses the chrome USB error messages/logs
driver = webdriver.Chrome(ChromeDriverManager().install(),options=options)
# opens login page in chrome
time.sleep(5)
login_field = driver.find_element(By.NAME,'j_username')
login_field.send_keys("dsedar")
pw_field = driver.find_element(By.NAME,'j_password')
pw_field.send_keys('pw')
login_button = driver.find_element(By.CLASS_NAME,'j-button-primary')
login_button.send_keys(Keys.ENTER)
time.sleep(5) #allows time for page to open completely
for files in os.listdir(path_of_the_directory):
if files.endswith(ext):
script_type = driver.find_element(By.ID,'scriptTypeSelect')
script_type.send_keys("Manual")
input_file_name = driver.find_element(By.NAME,'uploadFileInput')
input_file_name.send_keys(f'D:\workspace\convert_test_scripts\output\{files}') #path to xml files
import_button = driver.find_element(By.ID,'com_ibm_asq_common_web_ui_internal_widgets_jrs_Uploader_0-upload-button')
import_button.send_keys(Keys.ENTER)
print(files)
time.sleep(5)
driver.refresh()
else:
continue
driver.close()
|