2017-04-07 254 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