Python Webdriver我有一个类定义但是从unittest TestCase类我看不到类方法

时间:2015-05-15 15:22:20

标签: python class methods selenium-webdriver

我使用Webdriver,Python自动化我们的网站。 我有一个名为administrationPage.py的类,其中定义了一些方法,例如: def add_project(self)方法,用于在GUI中添加项目

我有一个名为AdministrationPage_TestCase的TestCase类和一个名为def add_Project(self)的方法: 在这个方法中我实例化,声明administionPage.py类。例如。 administration_page = administrationPage(self.driver) 从administration_page我想调用add_project方法。 当我输入administration_page时。当我按下。它应该弹出一个类中的方法列表。 它没有显示弹出类的可用方法。

我的LoginPage_TestCase.py和LoginPage.py我已经以相同的方式实现了&那没问题。我可以看到在LoginPage类中定义的方法userLogin_valid()。

你知道我错过了什么或做错了吗?

我的代码段如下。感谢。

AdministrationPage.py

from element import BasePageElement
from locators import MainPageLocators
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import TimeoutException
import time
import datetime

class BasePage(object):

    def __init__(self, driver):
        self.driver = driver

class administrationPage(BasePage):

    def get_date_now(self):
            date_now = datetime.datetime.now()
            print str(date_now)

    # Add a project, enter project name & description, save
    def add_project(self):
        add_project_button = self.driver.find_element(*MainPageLocators.addButton_project)
        add_project_button.click()
        project_name_textfield = self.driver.find_element(*MainPageLocators.projectName_textfield)
        project_name_textfield.click()
        project_name_textfield.clear()
        dateNow = self.get_date_now()
        project_name_textfield.sendkeys('LADEMO_IE_nn_')
        project_description_textfield = self.driver.find_element(*MainPageLocators.projectDescription_textfield)
        project_description_textfield.click()
        project_description_textfield.clear()
        project_name_textfield.sendkeys("LADEMO create a basic project test script - Selenium Webdriver/Python Automated test")

AdministrationPage_TestCase.py

import unittest
from selenium import webdriver
import page
import administrationPage
import time

class AdministrationPage_TestCase(unittest.TestCase):

    def setUp(self):
        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 = page.LoginPage(self.driver)
        time.sleep(15)

    def add_Project(self):
        login_page = page.LoginPage(self.driver)
        login_page.userLogin_valid()
        administration_page = administrationPage(self.driver)
        administration_page.

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

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

1 个答案:

答案 0 :(得分:1)

我现在设法解决了这个问题。

administration_page = administrationPage.administrationPage(self.driver)
administration_page.add_project()