No puedo llenar valor_in porque Capybara no veo emergente -- ruby campo con automation campo con popup campo con capybara camp Relacionados El problema

Can't fill_in value because Capybara don't see popup


0
vote

problema

Español

Como lo sé, cuando se abre la ventana emergente / modal, está en la parte superior de la página donde la abrí, así que cuando intente llenar el valor en él, no vea dónde debe hacerlo.

Luego intentó mirar dentro de Modal con dentro . Probé otras clases, pero el mismo capybara :: elementnotfound: no se puede encontrar visibles CSS "modal183"

  private class PhoneCallStateListener extends PhoneStateListener     {     private boolean isSystemCalling = false;         public void onCallStateChanged(int state, String incomingNumber) {             if (TelephonyManager.CALL_STATE_OFFHOOK == state)             {                 isSystemCalling = true;             }             if (TelephonyManager.CALL_STATE_IDLE == state)             {                 if (isSystemCalling)                 {                     if(!active)                     {                         db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_DEACTIVE);                         update();                     }                     else                     { db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_ACTIVE);                         update();                     }                     isSystemCalling = false;                 }             }         }     } 0  

Intentado también encontrar con XPath, pero tampoco nada. capybara :: elementnotfound: no se puede encontrar visibles xpath "// ingresar [@ id = 'ctl00_contentplaceholder1_tbid']"

  private class PhoneCallStateListener extends PhoneStateListener     {     private boolean isSystemCalling = false;         public void onCallStateChanged(int state, String incomingNumber) {             if (TelephonyManager.CALL_STATE_OFFHOOK == state)             {                 isSystemCalling = true;             }             if (TelephonyManager.CALL_STATE_IDLE == state)             {                 if (isSystemCalling)                 {                     if(!active)                     {                         db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_DEACTIVE);                         update();                     }                     else                     { db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_ACTIVE);                         update();                     }                     isSystemCalling = false;                 }             }         }     } 111  

Actualizado: se adjunta parte adjunta donde parece ser esta ventana emergente que aparece después de presionar el botón. Inspeccione los programas de código en este código. No escribí este código, pero tratando de construir pruebas automatizadas en ellos :)

  private class PhoneCallStateListener extends PhoneStateListener     {     private boolean isSystemCalling = false;         public void onCallStateChanged(int state, String incomingNumber) {             if (TelephonyManager.CALL_STATE_OFFHOOK == state)             {                 isSystemCalling = true;             }             if (TelephonyManager.CALL_STATE_IDLE == state)             {                 if (isSystemCalling)                 {                     if(!active)                     {                         db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_DEACTIVE);                         update();                     }                     else                     { db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_ACTIVE);                         update();                     }                     isSystemCalling = false;                 }             }         }     } 2  

  private class PhoneCallStateListener extends PhoneStateListener     {     private boolean isSystemCalling = false;         public void onCallStateChanged(int state, String incomingNumber) {             if (TelephonyManager.CALL_STATE_OFFHOOK == state)             {                 isSystemCalling = true;             }             if (TelephonyManager.CALL_STATE_IDLE == state)             {                 if (isSystemCalling)                 {                     if(!active)                     {                         db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_DEACTIVE);                         update();                     }                     else                     { db.update_activity(Utilities.CONST_SYS_STATUS,Utilities.STATUS_ACTIVE);                         update();                     }                     isSystemCalling = false;                 }             }         }     } 3  


Original en ingles

As I know, when popup/modal opens it is on the top of page where I opened it from, so when try to fill value in it don't see where it need to do that.

Then tried to look inside modal with within. Tried other classes, but same Capybara::ElementNotFound: Unable to find visible css "modal183"

within('modal183') do         fill_in 'ctl00_ContentPlaceHolder1_tbId', :with => '10'       end 

Tried also find with xpath, but also nothing Capybara::ElementNotFound: Unable to find visible xpath "//input[@id='ctl00_ContentPlaceHolder1_tbId']"

<div class="modal183">             <div class="popup_Titlebar" id="PopupHeader">                 <div class="TitlebarLeft">                     <span id="ctl00_ContentPlaceHolder1_lblTitle">text</span>                 </div>             </div>             <div class="popup_Body">                  <div class="popup_TextNoTop">                     <span id="ctl00_ContentPlaceHolder1_lbl1" class="label-left">text</span>                     <input name="ctl00$ContentPlaceHolder1$tbId" type="text" id="ctl00_ContentPlaceHolder1_tbId" class="txtInputDec width100" onFocus="ClearTheTextbox(this, &#39;&#39;)" onBlur="FillTheTextbox(this, &#39;&#39;)" onkeypress="return onlyNumbers()" />                     <span id="ctl00_ContentPlaceHolder1_cmrvIB" style="color:Red;display:none;"><a href='#' class='tooltipCons'><img src='/App_Themes/Default/img/exclamation.png' alt='' /><span>text</span></a></span>                     <span id="ctl00_ContentPlaceHolder1_revIB" style="color:Red;display:none;"><a href='#' class='tooltipCons'><img src='/App_Themes/Default/img/exclamation.png' alt='' /><span>text </span></a></span>                     <span id="ctl00_ContentPlaceHolder1_rvTb" style="color:Red;display:none;"><a href='#' class='tooltipCons'><img src='/App_Themes/Default/img/exclamation.png' alt='' /><span>text</span></a></span>                     <br />                     <span id="ctl00_ContentPlaceHolder1_lbl2" class="label-left">text</span>                     <input name="ctl00$ContentPlaceHolder1$tb1Id" type="text" id="ctl00_ContentPlaceHolder1_tb1Id" class="txtInputDec width100 top5" onFocus="ClearTheTextbox(this, &#39;&#39;)" onBlur="FillTheTextbox(this, &#39;&#39;)" onkeypress="return onlyNumbers()" />                     <span id="ctl00_ContentPlaceHolder1_rev1IB" style="color:Red;display:none;"><a href='#' class='tooltipCons'><img src='/App_Themes/Default/img/exclamation.png' alt='' /><span>text </span></a></span>                     <span id="ctl00_ContentPlaceHolder1_rvTb1" style="color:Red;display:none;"><a href='#' class='tooltipCons'><img src='/App_Themes/Default/img/exclamation.png' alt='' /><span>text</span></a></span>                 </div>             </div>             <div class="popup_Buttons">                 <table width="100%" border="0" cellpadding="0" cellspacing="0">                     <tr>                         <td align="left">                             <a onclick="if (!window.event) {this.disabled=true; this.style.color=&#39;grey&#39;; var but = document.getElementById(&#39;btnCancel&#39;); but.disabled=true; but.style.color=&#39;grey&#39;;};" id="ctl00_ContentPlaceHolder1_btnOkay" class="cool-button width80 blue" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btnOkay&quot;, &quot;&quot;, true, &quot;cons&quot;, &quot;&quot;, false, true))">text</a>                         </td>                         <td align="right">                             <a id="ctl00_ContentPlaceHolder1_btnCancel" class="cool-button width80 black" href="javascript:__doPostBack(&#39;ctl00$ContentPlaceHolder1$btnCancel&#39;,&#39;&#39;)">Atcelt</a>                         </td>                     </tr>                 </table>             </div>         </div> 

Updated: Attached part where it looks like be this popup which appear after I press on button. Inspect code shows on this code. I didn't wrote this code, but trying to build automated tests on them :)

<div id="popupparent" style="display: block; height: 1e+06px; left: 0px; top: 0px;"> <script language="javascript" type="text/javascript">       function resizeIframe(obj) {         var h = "innerHeight" in window ? window.innerHeight : document.documentElement.offsetHeight;         var w = "innerWidth" in window ? window.innerWidth : document.documentElement.offsetWidth;          var doc;         if (obj.contentDocument) {             doc = obj.contentDocument;         } else if (obj.contentWindow) {             doc = obj.contentWindow.document;         } else {             return;         }          var childHeight = doc.body.scrollHeight;         var childWidth = doc.body.scrollWidth;           obj.style.height = childHeight + 'px';         var ver = getInternetExplorerVersion();         var parent = document.getElementById('termsofuse');          if (ver > -1) {             parent.style.marginTop = ((h - childHeight) / 2) - 64 + 'px';         } else {             parent.style.top = ((h - childHeight) / 2) - 64 + 'px';         }          parent.style.left = ((w - childWidth) / 2) + 'px';         parent.style.display = "block";         parent.style.visibility = "visible";     } 

<div id="termsofuse" style="left: 1081px; top: 246.5px; display: block; visibility: visible;"> <iframe id="frameeditexpanse" frameborder="0" src="PopDailyCons.aspx?e=c0lEPUMwMDEwMDA3MDQmYUlEPUEwMDQ3ODIxNzAmZGF5PTImY3VyRGF0ZT0yMDE4LjA0JmN1clVzZXI9MTYwJnNvdXJjZT1hdGs=" scrolling="no" marginheight="0" marginwidth="0" class="termsOfUseFrame" style="height: 185px;"> </iframe> <div class="popup_Buttons" style="display: none">             <input id="btnOk" value="Done" type="button">             <input id="btnCancel" value="Cancel" type="button" onclick="hideusertermwindow()"> 


           

Lista de respuestas

0
 
vote

su llamada within no funciona porque necesita pasarlo un selector de CSS. Está pasando modal183 que buscaría un elemento git submodule foreach git checkout dev-master 9 , cuando lo que realmente desee es job: stage: ... variables: TF_VAR_SECRET1: ${GITLAB_SECRET} 0 para buscar un elemento con la clase < Código> job: stage: ... variables: TF_VAR_SECRET1: ${GITLAB_SECRET} 111 .

De su descripción Es difícil decir exactamente lo que está haciendo, pero parece que tal vez esté hablando de una ventana emergente (nueva ventana del navegador) abrió la pestaña actual. Si ese es el caso, entonces tendría que intercambiar ventanas para interactuar con él, a lo largo de las líneas de

  job:     stage: ...     variables:          TF_VAR_SECRET1: ${GITLAB_SECRET} 2  
 

Your within call doesn't work because you need to pass it a CSS selector. You're passing modal183 which would look for a <modal183> element, when what you really want is .modal183 to look for an element with the class modal183.

From your description it's tough to tell exactly what you're doing but it sounds like maybe you're talking about a popup window (new browser window) opened on top of the current tab. If that is the case then you'd need to swap windows in order to interact with it, along the lines of

new_win = window_opened_by do   # whatever action in the original window causes the popup window to open   click_button 'blah'  end  within_window(new_win) do   fill_in 'ctl00_ContentPlaceHolder1_tbId', :with => '10' end 
 
 
       
       

Relacionados problema

1  Capybara :: Poltergeist :: StativefailError  ( Capybarapoltergeiststatusfailerror ) 
Estoy tratando de usar puffing-billy GEM CON poltergeist Y tengo algunos problemas con eso. Mi capybara_helper.rb contiene código siguiente: Billy.co...

0  Prueba de diálogo jquery con capibara-webkit  ( Testing jquery dialog with capybara webkit ) 
Quiero probar una interacción donde el usuario hace clic en un enlace y un diálogo de jquery (http://jqueryui.com/demos/dialog/) aparece. Me gustaría probar...

3  Capybara, Devise, Cancan y RSPEC PRUEBAS DE INTEGRACIÓN: Válido Iniciar sesión 302 Redirecciones a Ejemplo.com  ( Capybara devise cancan and rspec integration tests valid sign in 302 redirect ) 
Actualización: vea el final de la publicación de la forma en que funcionan las especificaciones ahora que tengo mis especificaciones en especificaciones espec...

35  ¿Cómo publicas a una URL en Capybara?  ( How do you post to a url in capybara ) 
Acaba de cambiar del pepino + Webrat al pepino + Capybara y me pregunto cómo puede publicar contenido a una URL en Capybara. en pepino + webrat pude tener u...

0  ¿Es posible probar otras aplicaciones como https://www.google.com usando Capybara en rieles?  ( Is it possible to test other applications like https www google com using capy ) 
Soy nuevo para escribir el caso de prueba en los rieles. ¿Es posible escribir casos de prueba para probar otras aplicaciones como https://www.google.com usa...

13  Capybara / Selenium con RSPEC ANTES: Todos los gancho  ( Capybara selenium with rspec before all hook ) 
En un intento de reducir el número de visitas de página con Selenium, quería llamar al método de visita a un gancho $this->loadComponent('Auth', [ 'a...

4  ¿Puedo usar Capybara / RSPEC para que coincida con un rango?  ( Can i use capybara rspec to match a range ) 
Estoy probando una aplicación de rieles 3.2.6. es posible hacer una afirmación RSPEC / CAPYBARA que se exprese, por ejemplo: 'Si pido películas entre 1970...

0  Ruby SoundCloud GEM: No se puede probar el archivo cargado  ( Ruby soundcloud gem cannot test uploaded file ) 
No he visto mucho en las pruebas para la gema de SoundCloud. La mayoría, todo ha sido espléndido, sin embargo, descubrí que la carga de archivos a SoundCloud ...

0  Espere a que Websocket Rails evento para finalizar en el entorno de prueba  ( Wait for websocket rails event to finish in test environment ) 
Estoy usando la gema de RAILS DESCHOPS WEBSHOIL en My Rails para enviar un evento que desencadena una actualización de parte de la página. Todo está funcionan...

0  Cómo obtener Capybara para utilizar los activos con el controlador remoto de Chrome  ( How to get capybara to utilize assets with chrome remote driver ) 
Estoy tratando de mudarme a la CICD de Bitbucket y atracar nuestra aplicación de rieles. Me gustaría utilizar Browserlessio, pero me he encontrado con el prob...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos