我在Selenium Webdriver中爲我的Django應用程序創建單元測試。如何創建一個Selenium Webdriver測試來驗證元素不存在?
我有一個從數據庫中刪除一個主題的AJAX方法。 我想弄清楚如何驗證刪除的主題不再出現在頁面上。
我試圖捕獲異常的應時產生的webdriver無法找到一個元素: selenium.common.exceptions.NoSuchAttributeException
相反,我看到了一個錯誤:
*** URLError: <urlopen error timed out>
以下是我如何設置測試:
from selenium import webdriver
from django.utils import unittest
class TestAuthentication(unittest.TestCase):
scheme = 'http'
host = 'localhost'
port = '4444'
def setUp(self):
self._driver = webdriver.Firefox()
self._driver.implicitly_wait(10)
def login_as_Kallie(self):
# Kallie has manual login
self._driver.get('http://localhost:8000/account/signin/')
user = self._driver.find_element_by_id('id_username')
user.send_keys("Kallie")
password = self._driver.find_element_by_id('id_password')
password.send_keys('*********')
submit = self._driver.find_element_by_id('blogin')
submit.click()
def test_Kallie_can_delete_topic(self):
self.login_as_Kallie()
self._driver.find_element_by_link_text("Topic to delete").click()
self._driver.find_element_by_xpath("/html/body/div/div[4]/div/div/div[2]/div/table/tbody/tr/td[2]/div/div[3]/span[5]/a").click()
self._driver.find_element_by_class_name('dialog-yes').click()
self._driver.get("http://localhost:8000/questions/")
# this is the Python exception to catch: selenium.common.exceptions.NoSuchAttributeException
self.assertRaises('selenium.common.exceptions.NoSuchAttributeException', self._driver.find_element_by_link_text("Topic to delete"))
def tearDown(self):
self._driver.quit()
如何測試頁面的元素是否不存在?
這是Java代碼,而問題是Python和Django的 – e4c5 2015-10-18 11:19:53