2017-04-07 202 views
-3

请我怎么能找到这个XPath中的文本Invalid email address.Python中硒的Xpath获取文本

driver.find_element_by_xpath(".//*[@id='create_account_error']/ol/li") 

,并断言验证?

您可以检查这个网站 - http://automationpractice.com/index.php?controller=authentication

放在一个错误的电子邮件地址,在“创建帐户选项卡”,然后单击“创建帐户”,你会看到一个错误信息。

如何使用xpath验证此错误消息以制作示例测试用例?

+0

嗨,欢迎来到SO。请仔细阅读关于在SO上发布问题的指南:http://stackoverflow.com/help/how-to-ask –

回答

0

就试试这个:

expected_text = 'Invalid email address.' 
elem = driver.find_element_by_xpath(".//*[@id='create_account_error']/ol/li") 
assert elem.text == expected_text 

希望它会帮助你。

0

我给你的示例代码将工作,你想要什么,把它放在一个测试用例相应。

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By 

url="http://automationpractice.com/index.php?controller=authentication" 

driver =webdriver.Chrome() 
driver.maximize_window() 

driver.get(url) 

driver.find_element(By.ID,'email_create').send_keys("This is Test") 

driver.find_element(By.ID,'SubmitCreate').click() 

WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#create_account_error > ol > li"))) 

ele=driver.find_element(By.CSS_SELECTOR,'#create_account_error > ol > li') 
assert ele.text == 'Invalid email address.' 

driver.quit() 
+0

真的,非常感谢你! – TheRutubeify