2017-03-02 71 views
5

Muszę przetestować aplikację napisaną w React. Chcę, aby wybrać opcję z wybranej dziedziny:Selen - Wybrane pola nie zostaną zapisane za pomocą Remote Webdrive

HTML 
<select id="martial_status" class="form-control" name="martial_status"> 
<option value="" hidden="">---</option> 
<option value="1">wolny</option> 
</select> 

Próbuję ustawić to pole na "wartość" = 1 za pomocą dwóch metod:

martial_status = Select(driver.find_element(By.ID, "martial_status") 
martial_status.select_by_value('1') 

lub

el = driver.find_element_by_id("martial_status") 
     for option in el.find_elements_by_tag_name('option'): 
      if option.text == 'wolny': 
       option.click() 
       break 

Zarówno z nich działa poprawnie tylko z lokalnym webdriverem:

cls.driver = webdriver.Firefox() 
cls.driver.implicitly_wait(20) 

Kiedy używam zdalnego Webdriver wybrane wartości nie są zapisywane:

cls.driver = webdriver.Remote(
      command_executor='http://xx.xx.xx.xx:5555/wd/hub', 
      desired_capabilities=DesiredCapabilities.FIREFOX) 

testu nie pobiera żadnych błędów. Od Selenium_standalone_server konsola zaczęła na zdalnym serwerze, który jest wykonywany zdalny test, zakładam, że znajduje select:

14:31:16.993 INFO - Executing: [find element: By.id: martial_status]) 
14:31:17.002 INFO - Done: [find element: By.id: martial_status] 
14:31:17.063 INFO - Executing: [tag name: 15 [[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status]]) 
14:31:17.070 INFO - Done: [tag name: 15 [[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status]] 
14:31:17.130 INFO - Executing: [get element attribute: 15 [[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status], multiple]) 
14:31:17.143 INFO - Done: [get element attribute: 15 [[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status], multiple] 
14:31:17.204 INFO - Executing: [find child elements: 15 [[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status], By.cssSelector: option[value ="1"]]) 
14:31:17.212 INFO - Done: [find child elements: 15 [[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status], By.cssSelector: option[value ="1"]] 
14:31:17.272 INFO - Executing: [is selected: 16 [[[[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status]] -> css selector: option[value ="1"]]]) 
14:31:17.278 INFO - Done: [is selected: 16 [[[[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status]] -> css selector: option[value ="1"]]] 
14:31:17.337 INFO - Executing: [click: 16 [[[[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status]] -> css selector: option[value ="1"]]]) 
14:31:17.376 INFO - Done: [click: 16 [[[[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status]] -> css selector: option[value ="1"]]] 

Ale po zapisać i ponownie wprowadzić, widzę, że select nie jest ustawiony. Ten sam kod, lokalny webdriver i wybrane pola są w porządku. Wszelkie pomysły, kto rozwiązać ten problem? :)

+0

Przynajmniej w swoim przykładzie brakujące do nawiasów zamykających. –

+1

Identyfikator to "edukacja", a nie 'martial_status' – Guy

+0

przepraszam za niekompletne pytanie, missclick i wysyłam je do wcześniejszego :( –

Odpowiedz

Powiązane problemy