Selenium Webdri的登录模块

2024-06-16 14:36:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图登录到一个网站,并运行一些测试。有这么多的链接,我需要点击和其他任务是要在网页上执行。 我编写了一个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()

如果我想将驱动程序导入其他脚本,那么如何从上述模块设置驱动程序。你知道吗

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


Tags: 模块theselfbrowser脚本parsersetupusername