投掷错误:AttributeError:' KenLogin'对象没有属性' driver'

时间:2018-05-25 06:48:09

标签: python selenium-webdriver

我试图通过在python中使用unittest来运行登录页面的简单代码,但是遇到了这个错误。谁能给出答案呢?

我试图通过在python中使用unittest来运行登录页面的简单代码,但是遇到了这个错误。谁能给出答案呢?

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys


class KenLogin(unittest.TestCase):



    def setup(self):

       # self.driver = webdriver.Chrome(executable_path='E:\Learning\chromedriver.exe')
        self.driver = webdriver.Firefox()

    def test_login(self):

        driver = self.driver
        driver.get("http://qa.kenzen.com")
        username = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[1]/input")
        password = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[2]/input")

        username.send_keys("pardeepk@clovity.com")
        password.send_keys("Kenzen@123")

        button = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/button")

        button.click()
        print("Login Pass")

    def tearDown(self):
        self.driver.close()


if __name__ == "__main__":
      unittest.main()

--------------------------------------------------------------------------------

Finding files... done.
Importing test modules ... done.

======================================================================
ERROR: test_login (kenZen.KenLogin.KenLogin)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 18, in test_login
    driver = self.driver
AttributeError: 'KenLogin' object has no attribute 'driver'

======================================================================
ERROR: test_login (kenZen.KenLogin.KenLogin)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 32, in tearDown
    self.driver.close()
AttributeError: 'KenLogin' object has no attribute 'driver'

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=2)

1 个答案:

答案 0 :(得分:0)

创建一个全局变量并在函数中传递该值,如下所示:

class KenLogin(unittest.TestCase):

    def globe(self):

        global driver

        driver = webdriver.Chrome(executable_path='E:\Learning\chromedriver.exe')

    def test_login(self):


        driver.maximize_window()
        driver.implicitly_wait(2000)
        driver.get("http://qa.kenzen.com")
        username = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[1]/input")
        password = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[2]/input")

        username.send_keys("pardeepk@clovity.com")
        password.send_keys("Kenzen@123")

        button = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/button")

        button.send_keys(Keys.ENTER)
        print("Login Pass")