硒与Python 3
问题描述:
尝试利用'def assert_alert_present():函数来在警报存在时自动断言。想要在Walmart.com的'注册'按钮上使用它,默认情况下是这样的:硒与Python 3
您的密码必须包含6到12个字符,并且没有空格。请再试一次。
我故意使用少于6个或超过12个字符,并出现警报。不确定如何为该警报编写函数,以便在警报存在时通过,如果警报不存在则失败。
答
希望这是你在找什么:
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
分享您的代码,你已经尝试 – thebadguy
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
在这个时候,我@ https://www.walmart.com/account/signup – Alba