TypeError:从登录方法返回页面对象时,未绑定方法

2024-09-21 10:34:19 发布

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

我正在重新组织我的webdriver,python框架,这是我最近开始的。 场景:我从LoginPage类登录到我们的网站,调用userLogin\u valid方法(这将登录一个有效用户) 我更改了这个方法以返回主仪表板页面对象,因为当用户登录到主页面板时会显示。 从这里我可以点击管理选项卡,数据配置选项卡等

在我的DataConfigurationPage_TestCase中,我调用用户登录方法如下:

data_configuration_page = self.login_page.userLogin_valid("userName", "pass")

然后,我从主仪表板页面类调用click data configuration按钮,如下所示(在主仪表板页面,我单击dataconfiguration选项卡):

^{pr2}$

我得到以下错误:

^{3}$

有些人感谢我在这里做错了什么来得到这个错误。 我调用页面对象时出错了。在

我的代码片段如下:

页数\登录名.py在

import time
import Locators
from selenium.common.exceptions import NoSuchElementException
from Locators.element import BasePageElement
from Locators.locators import MainPageLocators
from Locators import locators
from Locators import element
from Locators.element import BasePageElement
from Pages.admin import AdministrationPage
from Pages.base import BasePage
from Pages.main_dashboard import MainDashboardPage
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By


class LoginPage(BasePage):

    def userLogin_valid(self, name, password):
        _name = name
        _password = password
        userName_textbox = self.driver.find_element(*MainPageLocators.usernameTxtBox)
        userName_textbox.clear()
        userName_textbox.send_keys(_name)
        password_textbox = self.driver.find_element(*MainPageLocators.passwordTxtBox)
        password_textbox.clear()
        password_textbox.send_keys(_password)
        submitButton = self.driver.find_element(*MainPageLocators.submitButton)
        submitButton.click()
        return MainDashboardPage

页面\main_仪表板.py在

import time
import datetime
from selenium.common.exceptions import NoSuchElementException
from Locators.locators import MainPageLocators
from Locators.element import BasePageElement
from Pages.base import BasePage

class MainDashboardPage(BasePage):

    def click_data_configuration(self):
        self.driver.find_element(*MainPageLocators.DataConfiguration_button_xpath).click()
        return MainDashboardPage(self.driver)

配置数据页_测试用例.py在

import unittest
import time
import datetime
from selenium import webdriver
from Locators import locators
from Locators import element
from Pages import login
from Pages import admin
from Pages import main_dashboard


class AdministrationPage_TestCase(unittest.TestCase):

    def setUp(self):
        webdriver.DesiredCapabilities.INTERNETEXPLORER["unexpectedAlertBehaviour"] = "accept"
        self.driver = webdriver.Ie("C:\QA\Automation\Python_projects\Selenium Webdriver\IEDriverServer_Win32_2.45.0\IEDriverServer.exe")
        self.driver.get("http://riaz-pc.company.local:8080/clearcore")
        self.login_page = login.LoginPage(self.driver)
        self.driver.implicitly_wait(30)

    def test_add_Data_Objects(self):
        print "*** test_add_Data_Objects ***"
        data_configuration_page = self.login_page.userLogin_valid("batman", "batarang123")
        data_configuration_page.click_data_configuration() # Click Data Configuration from menu bar
        assert data_configuration_page.is_Data_Configuration_pageDisplayed(), "Data Configuration Page not displayed"
        print "data_configuration_page.is_Data_Configuration_pageDisplayed()"
        print data_configuration_page.is_Data_Configuration_pageDisplayed()




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

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

Tags: fromimportselfdatadriverseleniumpagelogin

热门问题