Python Webdriver 我有一个 class 定义但是从 unittest TestCase class 我看不到 class 方法
Python Webdriver I have a class defined but from the unittest TestCase class I cannot see the class methods
我正在使用 Webdriver 自动化我们的网站,Python。
我有一个名为 administrationPage.py 的 class,其中定义了一些方法,例如def add_project(self) 在 GUI
中添加项目的方法
我有一个名为 AdministrationPage_TestCase 的测试用例 class 和一个名为 def add_Project(self) 的方法:
在我实例化的这个方法中,声明了administionPage.pyclass。例如。
administration_page = administrationPage(self.driver)
从 administration_page 我想调用 add_project 方法。
当我输入 administration_page 时。当我按下时。它应该会弹出一个 class 中的方法列表。
它没有显示 class.
可用方法的弹出窗口
我的 LoginPage_TestCase.py 和 LoginPage.py 我已经以同样的方式实现了,没关系。我可以看到在 LoginPage class.
中定义的方法 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()
我现在已经设法解决了。
administration_page = administrationPage.administrationPage(self.driver)
administration_page.add_project()
我正在使用 Webdriver 自动化我们的网站,Python。 我有一个名为 administrationPage.py 的 class,其中定义了一些方法,例如def add_project(self) 在 GUI
中添加项目的方法我有一个名为 AdministrationPage_TestCase 的测试用例 class 和一个名为 def add_Project(self) 的方法: 在我实例化的这个方法中,声明了administionPage.pyclass。例如。 administration_page = administrationPage(self.driver) 从 administration_page 我想调用 add_project 方法。 当我输入 administration_page 时。当我按下时。它应该会弹出一个 class 中的方法列表。 它没有显示 class.
可用方法的弹出窗口我的 LoginPage_TestCase.py 和 LoginPage.py 我已经以同样的方式实现了,没关系。我可以看到在 LoginPage class.
中定义的方法 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()
我现在已经设法解决了。
administration_page = administrationPage.administrationPage(self.driver)
administration_page.add_project()