我正在尝试登录网站并运行一些测试。我需要单击太多链接,并且要在网页上执行其他任务。 我编写了一个Python脚本,该脚本接受命令行参数(浏览器,用户名和密码)并登录到网站。这很好。 登录模块需要导入到其他脚本中,我可以在其中使用此登录模块执行测试。
testlogin.py
import sys
import argparse
from selenium import webdriver
parser = argparse.ArgumentParser()
parser.add_argument('browser', default='chrome', help='Types of browser:chrome, firefox, ie')
parser.add_argument('username', help='This is the username')
parser.add_argument('password', help='This is the password')
args = parser.parse_args()
setup_parameters = sys.argv[1:]
class Testsite(object):
test_url = 'someurl'
# Initialization Method
def __init__(self):
self.username = setup_parameters[1]
self.password = setup_parameters[2]
if setup_parameters[0] == 'chrome':
self.browser = webdriver.Chrome()
print("Running tests on Chrome browser")
self.browser.implicitly_wait(15)
self.premier_login()
self.premier_close()
elif setup_parameters[0] == 'ie':
self.browser = webdriver.Ie()
print("Running tests on Internet Explorer browser")
self.browser.implicitly_wait(15)
self.premier_login()
self.premier_close()
elif setup_parameters[0] == 'firefox':
self.browser = webdriver.Firefox()
print("Running tests on Firefox browser")
self.browser.implicitly_wait(15)
self.premier_login()
self.premier_close()
elif setup_parameters[0] == 'None':
print('No browser type specified.... continuing with the default browser')
self.browser = webdriver.Chrome()
#Method to login to the site
def site_login(self):
self.browser.get(self.test_url)
self.browser.find_element_by_id("Username").send_keys(self.username)
self.browser.find_element_by_id("Password").send_keys(self.password)
self.browser.find_element_by_id("btnLogin").click()
self.browser.maximize_window()
self.browser.implicitly_wait(10)
# Closing the browser window and terminating the test
def site_close(self):
self.browser.quit()
if __name__ == '__main__':
Testsite().site_login()
如果要将其导入其他脚本,如何从上述模块中设置驱动程序。
我尝试将上述模块导入其他脚本,但无法设置驱动程序。