2017-03-29 3 views
1

아래에서 언급 한 코드를 시도했지만 나에게 적합하지 않았습니다.셀레늄 테스트 중 실행 된 쿼리를 계산하는 방법은 무엇입니까?

class SeleniumTest(LiveServerTestCase): 
    @classmethod 
    def setUpClass(cls): 
     super().setUpClass() 
     cls.driver = PhantomJS() 

    @override_settings(DEBUG=True) 
    def test_queries(self) 
     with self.assertNumQueries(10): 
      self.driver.get(self.live_server_url + "/page-with-10-queries") 

출력 : 뷰에 의해 생성 된 쿼리를 테스트하려면

query['sql'] for query in self.captured_queries 

AssertionError: 0 != 10 : 0 queries executed, 10 expected 

Captured queries were: 

답변

0

, 나는 다음과 같은 코드를 사용 : 당신이 주장하는 경우 다음과 같은

def test_queries(self): 
    with self.assertNumQueries(3): 
     found = self.client.get(reverse('<url name>')) 
     print(found) # This is the line that initiates the Lazy query 

이없는 테스트를 제안하지만를 셀레늄을 사용하면 시도 할 수 있습니다.

@override_settings(DEBUG=True) 
def test_queries(self) 
    with self.assertNumQueries(10): 
     found = self.driver.get(self.live_server_url + "/page-with-10-queries") 
     print(found) # Just an idea