Selenium Webdriver的登录模块

时间:2018-09-12 20:27:07

标签: python selenium selenium-webdriver webdriver

我正在尝试登录网站并运行一些测试。我需要单击太多链接,并且要在网页上执行其他任务。 我编写了一个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()

如果要将其导入其他脚本,如何从上述模块中设置驱动程序。

我尝试将上述模块导入其他脚本,但无法设置驱动程序。

0 个答案:

没有答案