2012-03-30 3 views
0

셀레늄으로 파이썬 스크립트를 만들고 있습니다. 페이지가로드 될 때 텍스트 상자의 기본 텍스트를 검사하는 특정 테스트를 실행하려고합니다. 다음은 AssertionError - Selenium/Python

  self.assertEqual("Search by template name or category..", sel.get_text("//table[@id='pluginToolbarButton_forms']/tbody/tr[2]/td[2]/em")) 
    File "C:\Python27\lib\unittest\case.py", line 509, in assertEqual 
    assertion_func(first, second, msg=msg) 
    File "C:\Python27\lib\unittest\case.py", line 502, in _baseAssertEqual 
    raise self.failureException(msg) 
AssertionError: 'Search by template name or category..' != u'Submitter Requests' 

내가 잘못된 기능을 사용하고 있습니까

다음
try: 
        self.assertEqual("Search by template name or category..", sel.get_text("//table[@id='pluginToolbarButton_forms']/tbody/tr[2]/td[2]/em")) 
        logging.info('  PASS: text box text is correct') 
       except Exception: 
        logging.exception('  FAIL: text box text is incorrect') 

내 오류가 ...... 내 코드는 .......입니까? 당신이 (즉, 첫 번째 코드 예제에 self.assertEqual(...)을의) 시도 선언이 실패한 것을

답변

0

귀하의 AssertionError 상태 :

AssertionError: 'Search by template name or category..' != u'Submitter Requests' 

이 주장은 문자열 'Search by template name or category'가 ... 올바른 인 'Submitter Requests'에서 차이가 있다고 설명 문자열 은 실제로는입니다.

두 번째 매개 변수를 self.assertEqual으로 확인하고 올바른 기능을 선택했는지 확인하십시오.

0

올바른 기능을 사용하고있는 것처럼 보이지만 올바른 방식으로 테스트를 실행하지 않는 것일 수 있습니다.

0

문제는 당신이 비교할 올바른 요소를 선택하지 않는 것 같습니다.

//table[@id='pluginToolbarButton_forms']/tbody/tr[2]/td[2]/em 

분명히, 내용이 "제출자의 요청이"당신이 무엇을 즉,없는 : 당신은 기본적 것을 일치하도록 프로그램 말하고있다 "템플릿 이름 또는 카테고리 별 검색하는 것은 ..."에 무엇이든의 내용과 동일 예상대로 테스트가 실패합니다. 해당 XPath 쿼리로 올바른 요소를 선택하지 않았을 수 있습니다. 아마도 CSS 쿼리가 가장 좋을 것입니다. Selenium documentation에서 요소 선택기에 대해 읽을 수 있습니다.

Selenium에서 반환 한 텍스트는 Unicode object이며 문자열과 비교하고 있습니다. 이것은 특수 문자에 대해 예상대로 작동하지 않을 수 있습니다.

관련 문제