2017-03-02 16 views
5

Reactで書かれたWebアプリケーションをテストする必要があります。Selenium - 選択したフィールドはリモートWebdrive経由で保存されません

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

または

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 

両方:2つのメソッドを使用して

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

私は、 "値" には、このフィールドを設定しようとしている= 1:私は選択フィールドからオプションを選択しますそのうちローカルのウェブドライバでのみ正常に動作します:

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

私は、リモートwebdriverを選択した値が保存されていない使用しています:

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

テストは、すべてのエラーを取得していません。 Selenium_standalone_serverコンソールからリモートテストを実行しているリモートサーバーで開始、私は選択が発見されていることを前提としています

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"]]] 

しかし、保存して再入力した後、私は選択が設定されていないことがわかります。 同じコード、ローカルウェブドライバ、および選択したフィールドは問題ありません。 この問題を解決するためのアイデアはありますか? :)

+0

少なくともあなたの例では、あなたは閉じ括弧が欠落します。 –

+1

idは 'martial_status'ではなく' education'です – Guy

+0

不完全な質問のため申し訳ありませんが、missclickと私は早くそれを送信します:( –

答えて

関連する問題