-1

I'm new to Automation Testing. So I have a simple test case: "Login with incorrect username and password". Steps: 1. Open the browser 2. Enter the URL “http://practice.automationtesting.in/” 3. Click on "My Account" 4. Enter incorrect username in username textbox 5. Enter incorrect password in password textbox. 6. Click on login button 7. Proper error must be displayed(ie Invalid username) and prompt to enter login again. My logic is quite simple, if the provided user/pass are incorrect, I must receive an error message, and if I find this element on the page (by it's xpath), then the user/pass are incorrect indeed.

class LoginTest(unittest.TestCase):
    baseURL = "http://practice.automationtesting.in/"
    username = "incorrect@email.com"
    password = "incorrect_password"
    driver = webdriver.Chrome()

    @classmethod
    def setUpClass(cls):
        cls.driver.get(cls.baseURL)
        cls.driver.maximize_window()

    def test_login(self):
        self.driver.find_element_by_xpath("//*[@id='menu-item-50']/a").click()
        lp = LoginPage(self.driver)
        lp.setUsername(self.username)
        lp.setPassword(self.password)
        lp.clickLogin()
        time.sleep(3)
        error = self.driver.find_element_by_xpath("//*[@id='page-36']/div/div[1]/ul/li/strong")
        if error.is_displayed():
            print("Incorrect username/password, please provide another one.")

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

I did something wrong? I'm sure there is another way to execute the step nr. 7. Can you give me an example? Thank you.

2

You would normally use an assert statement.

So assert condition, "Custom message on failure of assert"

I'm not 100% on python but think the formatting would be:

assert error.is_displayed(),"Error - Expected incorrect password message to be displayed"
  • Thanks. It worked. – rodut Jul 16 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.