2016-11-22 84 views
-1

尝试利用'def assert_alert_present():函数来在警报存在时自动断言。想要在Walmart.com的'注册'按钮上使用它,默认情况下是这样的:硒与Python 3

您的密码必须包含6到12个字符,并且没有空格。请再试一次。

我故意使用少于6个或超过12个字符,并出现警报。不确定如何为该警报编写函数,以便在警报存在时通过,如果警报不存在则失败。

+0

分享您的代码,你已经尝试 – thebadguy

+0

driver.find_element_by_name( “名字”)。 send_keys( “瓦萨”) driver.find_element_by_name( “姓氏”)。send_keys( “Pupkin”) driver.find_element_by_name( “电子邮件”)。send_keys( “[email protected]”) driver.find_element_by_name( “密码” ).send_keys(“VA 。saPupkin1234 “) driver.find_element_by_id(” 注册提交-BTN“)点击() #def assert_alert_present(): – Alba

+0

在这个时候,我@ https://www.walmart.com/account/signup – Alba

回答

0

希望这是你在找什么:

from selenium import webdriver 
from selenium.webdriver.common.by import By 


def assert_alert_present(): 
    driver = webdriver.Chrome() 
    driver.maximize_window() 
    baseurl = "https://www.walmart.com/account/signup" 
    driver.get(baseurl) 

    driver.find_element_by_name("firstName").send_keys("Vasa") 
    driver.find_element_by_name("lastName").send_keys("Pupkin") 
    driver.find_element_by_name("email").send_keys("[email protected]") 
    driver.find_element_by_name("password").send_keys("123") 

    #this will check and verify the alertpopup 
    try: 
     assert driver.find_element(By.ID, "password-help") 
     print "Alert is present" 
    except: 
     print "Alert is not present" 

    driver.find_element_by_css_selector("button.l-margin-top").click() 

    errormessage = driver.find_element_by_css_selector('.error-label').text 

    if errormessage.strip() == "Your password must contain between 6 and 12 characters, with no spaces. Please try again.": 
     print "Error lable is present there " 
    else: 
     print "Error lable is not present on website, Please check the website " 

assert_alert_present() 

会打印出消息:

Alert is present 
Error lable is present there 
+0

Thank You。它运行完美,只是需要澄清一点,我很难通过id找到该警报元素。断言driver.find_element(By.ID,“password-help”)“当我点击那个灰色警报时,它就消失了,在我看到同样的红色错误消息后,在”密码“输入“123”的密码,它在DOM的顶部。 – Alba

+0

感恩节快乐! – Alba

+0

感恩节快乐。div class =“validation-group”data-reactid =“。0.0.1.0.1.3.4.1.0.1”>您的密码必须介于6到12个字符之间这是html弹出 – thebadguy