Ich bin neu, wirklich neu im Programmierfeld (ich habe gerade einen QA -Automatisierungskurs mit Python absolviert) und versuche, an einer unittesten Suite zu arbeiten, aber wenn ich versuche, einen individuellen Test durchzuführen (z. B. test_successfullogin) Ich erhalte den folgenden Fehler: < /p>
"in Hash < /strong>
return Hash ((type (self), self.testMethodname))
e AttributeError: 'logints' Objekt hat kein Attribut '_testMethName' "< /p>
Könnten Sie so freundlich sein, mich auf die richtige Weise zu leiten, um zu verstehen, was ich falsch mache (ich habe einige gelesen (ich habe einige Alte Themen über diesen Fehler und es könnte sich um die Erbschaft der Klassen handeln, aber ich weiß es nicht genau). < /p>
Vielen Dank im Voraus! < /p>
Klasse Browser:
log = Cl.CustomLogger () < /p>
def init < /strong> (self):
self.driver = Keine < /p>
def get_driver (self, browsername):
Wenn Self.driver keine:
Wenn BrowSername == 'Chrome':
self.driver = webdriver.chrome ()
self.log.info("Chrome -Treiber initialisiert ")
elif BrowSername == 'Firefox ':
self.driver = webdriver.firefox ()
self.log self.driver.maximize_window()
self.driver.implicitly_wait(5)
return self.driver
< /code>
Def close_driver (self):
if self.driver:
self.driver
< /li>
< /ol>
2.class Basepage (Browser):
log = Cl.CustomLogger () < /p>
def __init__(self, driver):
self.driver = driver
def open_homepage(self, typeBrowser, url):
try:
wd = Browser()
self.driver = wd.get_driver(typeBrowser)
self.driver.get(url)
self.log.info("Web Page Launched with URL : " + url)
except:
self.log.info("Web Page not Launched with URL : " + url)
assert False
def checkPageTitle(self, title):
try:
assert title in self.driver.title
self.log.info("Web Page has the title : " + title)
except:
self.log.error("Web Page with the title : " + title + " has not been found")
assert False
def find_element(self, locator):
web_element = None
try:
web_element = self.driver.find_element(*locator)
self.log.info("WebElement with " + str(locator) + " found")
except:
self.log.error("WebElement with " + str(locator) + " not found")
assert False
return web_element
def find_elements(self, locator):
list_web_elements = None
try:
list_web_elements = self.driver.find_element(*locator)
self.log.info("WebElements with " + str(locator) + " found")
except:
self.log.error("WebElements with " + str(locator) + " not found")
assert False
return list_web_elements
def send_text(self, locator, text):
try:
self.find_element(locator).send_keys(text)
self.log.info("Sent the text: " + text + " to the locator: " + str(locator))
except:
self.log.error("Unable to send the text: " + text + " to the locator: " + str(locator))
assert False
def click_element(self, locator):
try:
webElement = self.waitElement(locator)
webElement.click()
self.log.info("Clicked on the element with the locator: " + str(locator))
except:
self.log.error("Unable to click on the element with the locator: " + str(locator))
assert False
def waitElement(self, locator):
webElement = None
try:
wait = WebDriverWait(self.driver, 25, poll_frequency=1,
ignored_exceptions=[ElementNotVisibleException, NoSuchElementException])
webElement = wait.until(ec.presence_of_element_located(locator))
self.log.info("WebElement found with locator: " + str(locator))
except:
self.log.error("WebElement not found with locator: ", str(locator))
assert False
return webElement
def verify_current_url(self, expected_url):
return self.driver.current_url == expected_url
def verify_if_element_is_displayed(self, locator):
elementDisplayed = None
try:
webElement = self.waitElement(locator)
elementDisplayed = webElement.is_displayed()
self.log.info("WebElement with locator: " + str(locator) + " is displayed")
except:
self.log.error("WebElement with locator: " + str(locator) + " is not displayed")
assert False
return elementDisplayed
def get_text(self, locator):
elementText = None
try:
webElement = self.waitElement(locator)
elementText = webElement.text
self.log.info("Got the text: " + elementText + " from the WebElement with the locator: " + str(locator))
except:
self.log.error("Unable to get text from locator: " + str(locator))
assert False
return elementText
< /code>
3.Class LoginPage (Basispage): < /p>
LOGIN_EMAIL_FIELD = (By.ID, "user-name")
LOGIN_PASSWORD_FIELD = (By.ID, "password")
LOGIN_ACCOUNT_BUTTON = (By.ID, "login-button")
SHOPPING_CART_BUTTON = (By.CLASS_NAME, 'shopping_cart_link')
ERROR_LOGIN_MESSAGE = (By.CLASS_NAME, "h3[data-test='error']")
def open_check_homepage(self, browser, url, title):
self.open_homepage(browser, url)
self.checkPageTitle(title)
def fill_login(self, username, password):
self.send_text(self.LOGIN_EMAIL_FIELD, username)
self.send_text(self.LOGIN_PASSWORD_FIELD, password)
self.click_element(self.LOGIN_ACCOUNT_BUTTON)
def successful_login(self, url, title):
assert self.verify_current_url(url)
self.checkPageTitle(title)
def loginErrorMessage(self, errorText):
error_message = self.get_text(self.ERROR_LOGIN_MESSAGE)
self.verify_if_element_is_displayed(error_message)
assert error_message == errorText
< /code>
Klasse Logints (LoginPage, unittest.TestCase): < /p>
def init (self, webdriver):
Super().Init(Webdriver)
self.driver = webdriver
Def SetupClass (Selbst) -> Keine:
self.open_check_homepage('chrome ',' https://www.saucedemo.com/ ',' Swag Labs ')
defindown (self) -> Keine:
self.close_driver()
def test_successfullogin (self):
self. FILL_LOGIN ('Standard_user', 'Secret_SAUCE')
self.successful_login('https://www.saucedemo.com/inventory.html ',' Swag Labs ')
Def test_badcredentialsLogin (Selbst):
self.fill_login('Standard_use ',' Secret_Sauc ')
self.logInerRorMessage('epic Sadface: Benutzername und Passwort stimmen nicht mit jedem Benutzer in diesem Dienst überein.') < /p >
< /li>
< /ol>
Erhalten von "AttributeError: 'Loginests' Objekt hat kein Attribut '_testMethodname'" Fehler beim Ausführen von unittest ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post