2013-06-25 17 views
5

Sto usando Visual Studio 2010 e ho ottenuto TestStack.White tramite NuGet (Ho ottenuto la versione 0.10.3.118).Come posso configurare i timeout di TestStack.White?

Il problema è che il mio test fa clic su un pulsante che attiva un'azione che supera il timeout predefinito di 5 secondi. Quindi la mia prova si ottiene sempre:

[Error] 'White.Core.Interceptors.CoreInterceptor' Error when invoking Click, on Button with parameters: 

White.Core.UIItems.UIActionException : Window didn't respond, after waiting for 5000 ms 
    ----> System.Exception : Timeout occured, after waiting for 5000 ms 

ho letto White's doc about waiting, ma dice di guardare la sezione di configurazione per vedere come impostare i miei valori di timeout. E quella sezione non esiste.

Aggiornamento: Ho cercato di creare un file chiamato TestStack.White.dll.config e collocato nella stessa directory TestStackWhite.dll e la mia prova dll. I contenuti:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 

    <sectionGroup name="White"> 
     <section name="Core" type="System.Configuration.NameValueSectionHandler"/> 
    </sectionGroup> 
    </configSections> 

    <White> 
    <Core> 
     <add key="WorkSessionLocation" value="." /> 
     <add key="PopupTimeout" value="5000" /> 
     <add key="SuggestionListTimeout" value="10000" /> 
     <add key="BusyTimeout" value="10000" /> 
     <add key="WaitBasedOnHourGlass" value="true" /> 
     <add key="UIAutomationZeroWindowBugTimeout" value="10000" /> 
     <add key="TooltipWaitTime" value="10000" /> 
     <add key="DragStepCount" value="4" /> 
    </Core> 
    </White> 
</configuration> 

Tuttavia, sto ancora ricevendo i 5 secondi timeout se corro la mia prova da dentro NUnit o VS + ReSharper ...

+1

È marzo 2017 e ho trovato questa sezione su Teststack.White e "waiting": http://teststackwhite.readthedocs.io/en/latest/AdvancedTopics/Waiting/ – AudioDroid

risposta

11

Questi timeout possono essere configurati a livello di codice, nel test codice. Per esempio:

CoreAppXmlConfiguration.Instance.BusyTimeout = 20000; 

di farlo utilizzando un App.Config, tale file deve essere associato al montaggio di prova. Quindi aggiungere un App.Config al mio progetto di test e incollare il contenuto della domanda funziona pure.