It's all about the answers!

Ask a question

is it possible to access SaaS Test Manager from a python script using selenium to import multiple Test Scripts


David Sedar (263) | asked Jan 25, 6:39 a.m.

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



permanent link
David Sedar (263) | answered Jan 28, 12:43 p.m.

 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()

Your answer


Register or to post your answer.