首页 > 解决方案 > Selenium Webdriver 的登录模块

问题描述

我正在尝试登录网站并运行一些测试。有很多链接需要我点击,其他任务要在网页上执行。我编写了一个 python 脚本,它接受命令行参数(浏览器、用户名和密码)并登录到网站。这工作正常。登录模块需要导入到其他脚本中,我可以在其中使用此登录模块执行测试。

测试登录.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()

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

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

标签: pythonseleniumselenium-webdriverwebdriver

解决方案


推荐阅读