2016-06-02 4 views
1

Hallo ich bin neu in Selenium Webdriver und ich erstelle derzeit einen Testfall für eine bestimmte Funktion.Selen Fehler: BadStatusLine

Ich habe einen aktuellen Testfall, der bereits für eine andere Funktion funktioniert, aber wenn ich einen neuen Testfall einschließe und ihn ausführe. Ich erhalte einen Fehler: BadStatusLine.

Auch wenn ich den einzelnen Testfall ausführe, funktioniert es vollkommen gut, aber wenn ich den ganzen Test laufe, erhalte ich einen Fehler: BadStatusLine.

ERROR: test_task_xml (__main__.TestActuserLayouts) 
Test if the task xml is hidden 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "acttemplate_layouts.py", line 25, in setUp 
    driver.find_element_by_name("password").submit() 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 84, in submit 
    self._execute(Command.SUBMIT_ELEMENT) 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 457, in _execute 
    return self._parent.execute(command, params) 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 231, in execute 
    response = self.command_executor.execute(driver_command, params) 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 395, in execute 
    return self._request(command_info[0], url, body=data) 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 426, in _request 
    resp = self._conn.getresponse() 
    File "/usr/lib/python2.7/httplib.py", line 1051, in getresponse 
    response.begin() 
    File "/usr/lib/python2.7/httplib.py", line 415, in begin 
    version, status, reason = self._read_status() 
    File "/usr/lib/python2.7/httplib.py", line 379, in _read_status 
    raise BadStatusLine(line) 
BadStatusLine: '' 

Das ist der ganze Test:

import unittest 


from selenium import webdriver 



class TestActuserLayouts(unittest.TestCase): 
    """Test user functions """ 
    driver = webdriver.Firefox() 
    driver.implicitly_wait(30) 
    base_url = "http://samplepage.com" 


    def setUp(self): 
     """Base setting before test 
     """ 
     driver = self.driver 
     # Login 
     driver.get(self.base_url + "/") 
     driver.find_element_by_name("user_name").clear() 
     driver.find_element_by_name("user_name").send_keys("userme") 
     driver.find_element_by_name("password").clear() 
     driver.find_element_by_name("password").send_keys("123") 
     driver.find_element_by_name("password").submit() 
     self.assertEqual(self.base_url + "/userme/inbox/", driver.current_url) 

    def test_task_xml(self): 
     """Test if the task xml is hidden 
     """ 
     driver = self.driver 
     # Get page by URL 
     driver.get(self.base_url + "/userme/mission/") 
     # Get page by URL 
     driver.get(self.base_url + "/mission/update/0000000a-0000-0000-0000-000000000000/") 
     self.assertEqual(self.base_url + "/mission/update/0000000a-0000-0000-0000-000000000000/", driver.current_url) 
     driver.find_element_by_id("discussion-btn").click() 
     # Scan browser if Task xml is not present 
     self.assertFalse('Task xml' in self.driver.page_source) 

    def test_task_list(self): 
     """Test if the number of task for each mission is null 
     """ 
     driver = self.driver 
     #Get page url 
     driver.get(self.base_url + "/userme/mission/") 
     #Get page url 
     driver.get(self.base_url + "/acttemplate/list-all/") 
     #Scan browser if the number of task is null 
     self.assertEqual(driver.find_element_by_xpath("//tr[3]/td[4]").text != "", True) 


    def tearDown(self): 
     """Clear setting after test 
     """ 
     self.driver.close() 



# Run unit test directly 
if __name__ == "__main__": 
    unittest.main() 

Während der andere Testfall ein Fehler ist. Also bin ich mit Selen nicht wirklich vertraut und brauche Hilfe, um diesen Fehler zu finden. Kann mir bitte jemand in dieser Ausgabe helfen? Danke vielmals.

+0

Hier ist der vollständige Test. – acknolodgia

+0

Haben Sie das Problem behoben? – ajack13

Antwort

0

Ich bin mir nicht sicher, aber ich rate mal. Irgendwie stirbt der Browser, während Sie solche Aktionen wie das Drücken von Tasten und das Klicken ausführen.

Es ist ein Fehler von httplib (Low-Level-Python http-Bibliothek) ausgelöst, bedeutet, dass der Server innerhalb des Browsers keine der bekannten http-Status-Codes (200, 300, 500, etc.) geantwortet hat, und stattdessen die Antwort war '' (leere Zeichenfolge).

Verwandte Themen