Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- from selenium import webdriver
- from selenium.common.exceptions import *
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support import expected_conditions as EC
- import getpass
- import csv
- import time
- WAIT = 60
- SITE = 'https://sailpoint.southernct.edu'
- def test(user, password):
- report = []
- count = 0
- success = False
- options = webdriver.ChromeOptions()
- options.addArguments('--headless')
- browser = webdriver.Chrome(chrome_options=options)
- try:
- while(True)
- try:
- start = time.time()
- browser.get(SITE)
- WebDriverWait(driver,WAIT).until(EC.presence_of_element_located((By.ID,'slpt-auth-page')))
- end = time.time()
- report.append({'test':'login','time':start - end})
- driver.find_element_by_id('username').send_keys(user)
- driver.find_element_by_id('password').send_keys(password)
- driver.find_element_by_id('signIn').click()
- except WebDriveExcpetion as error:
- print(error)
- report.append({'test':'login','time':start - end})
- try:
- start = time.time()
- WebDriverWait(driver,WAIT).until(EC.presence_of_element_located((By.ID,'slpt-aiq-page')))
- end = time.time()
- report.append({'test':'logout','time':start - end})
- driver.execute_script("document.getElementById('slpt-nav-account-logout').click();")
- except WebDriveExcpetion as error:
- print(error)
- report.append({'test':'logout','time':start - end})
- try:
- start = time.time()
- WebDriverWait(driver,WAIT).until(EC.presence_of_element_located((By.ID,'slpt-auth-page')))
- end = time.time()
- report.append({'test':'logout_wait','time':start - end})
- except WebDriveExcpetion as error:
- print(error)
- report.append({'test':'logout_wait','time':start - end})
- except KeyboardInterrupt:
- fields = ['test','time']
- with open('selenium_report.csv','w') as csvfile:
- writer = csv.Dictwriter(csvfile, fieldnames=fields)
- writer.writeheader()
- for row in report:
- writer.writerow(row)
- def main():
- user = input('User > ')
- password = getpass.getpass('Password > ')
- test()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement