2013-03-20 4 views
0

셀레늄 IDE를 사용하여 테스트를 작성하고 파이썬 스크립트 (webdriver)로 저장했습니다. 하지만이 Python을 사용하여 실행할 때. failUnlessEqual셀레늄 파이썬 포맷터 테스트가 실패했습니다.

을 몇 가지 오류 파일 "/usr/local/lib/python2.7/dist-packages/PyUnit-1.4.1-py2.7.egg/unittest.py", 라인 (273)을 얻고입니다 Python 포맷터를 사용하여 Selenium IDE에서 자동으로 생성 된 코드.

from selenium import webdriver 

from selenium.webdriver.common.by import By 

from selenium.webdriver.support.ui import Select 

from selenium.common.exceptions import NoSuchElementException 

import unittest, time, re 

class Untitled(unittest.TestCase): 

    def setUp(self): 
     self.driver = webdriver.Firefox() 
     self.driver.implicitly_wait(30) 
     self.base_url = "https://www.google.co.in/" 
     self.verificationErrors = [] 
     self.accept_next_alert = True 

    def test_untitled(self): 
     driver = self.driver 
     driver.get(self.base_url + "/") 
     driver.find_element_by_id("gbqfq").clear() 
     driver.find_element_by_id("gbqfq").send_keys("testomg") 
     try: self.assertEqual("testomg - Google Search", driver.title) 
     except AssertionError as e: self.verificationErrors.append(str(e)) 

    def is_element_present(self, how, what): 
     try: self.driver.find_element(by=how, value=what) 
     except NoSuchElementException, e: return False 
     return True 

    def close_alert_and_get_its_text(self): 
     try: 
      alert = self.driver.switch_to_alert() 
      if self.accept_next_alert: 
       alert.accept() 
      else: 
       alert.dismiss() 
      return alert.text 
     finally: self.accept_next_alert = True 

    def tearDown(self): 
     self.driver.quit() 
     self.assertEqual([], self.verificationErrors) 


if __name__ == "__main__": 
    unittest.main() 

결과

E

ERROR: test_untitled (__main__.Untitled) 

Traceback (most recent call last): 
    File "testing2.py", line 40, in tearDown 
    self.assertEqual([], self.verificationErrors) 
    File "/usr/local/lib/python2.7/dist-packages/PyUnit-1.4.1-py2.7.egg/unittest.py", line 273, in failUnlessEqual 
    raise self.failureException, (msg or '%s != %s' % (first, second)) 
AssertionError: [] != ['testomg - Google Search != Google'] 

답변

1

이 테스트의 예상 고장이다.

try: self.assertEqual("testomg - Google Search", driver.title) 

당신이해야 방문한 페이지의 제목 있다고 주장되어이 줄 "testomg - 구글 검색". 실제로 "Google"이었습니다.

테스트에 실패했습니다. 아마 당신이 입력 누르거나 Google 검색 형태로 쿼리 상자 요소에 키를 전송 한 직후

driver.find_element_by_id("gbqfsa").click() 

를 추가

시도를 검색어를 입력 한 후 검색 버튼을 클릭하지 않기 때문에.

관련 문제