You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

420 lines
19 KiB

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
<section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
<section name="FirefoxPreferences" type="System.Configuration.AppSettingsSection" />
<section name="FirefoxExtensions" type="System.Configuration.AppSettingsSection" />
<section name="ChromePreferences" type="System.Configuration.AppSettingsSection" />
<section name="InternetExplorerPreferences" type="System.Configuration.AppSettingsSection" />
<section name="ChromeExtensions" type="System.Configuration.AppSettingsSection" />
<section name="DriverCapabilities" type="System.Configuration.AppSettingsSection" />
<section name="ChromeArguments" type="System.Configuration.AppSettingsSection" />
<section name="Inputs" type="System.Configuration.AppSettingsSection" />
<section name="Outputs" type="System.Configuration.AppSettingsSection" />
<section name="keyVault" type="System.Configuration.AppSettingsSection" />
<section name="database" type="System.Configuration.AppSettingsSection" />
<section name="blobStorage" type="System.Configuration.AppSettingsSection" />
<section name="docDb" type="System.Configuration.AppSettingsSection" />
<section name="dataLake" type="System.Configuration.AppSettingsSection" />
<section name="tableStorage" type="System.Configuration.AppSettingsSection" />
<section name="appInsights" type="System.Configuration.AppSettingsSection" />
<section name="serviceBus" type="System.Configuration.AppSettingsSection" />
<section name="azureAd" type="System.Configuration.AppSettingsSection" />
<section name="adfpipeline" type="System.Configuration.AppSettingsSection" />
<section name="spex" type="System.Configuration.AppSettingsSection" />
<section name="reporting" type="System.Configuration.AppSettingsSection" />
<section name="chaosMonkey" type="System.Configuration.AppSettingsSection" />
<sectionGroup name="environments">
<section name="ChromeWindows" type="System.Configuration.AppSettingsSection" />
<section name="ChromeWindowsMobile" type="System.Configuration.AppSettingsSection" />
<section name="ChromeAndroid" type="System.Configuration.AppSettingsSection" />
<section name="ChromeMac" type="System.Configuration.AppSettingsSection" />
<section name="FirefoxWindows" type="System.Configuration.AppSettingsSection" />
<section name="SafariMac" type="System.Configuration.AppSettingsSection" />
<section name="SafariIPhone" type="System.Configuration.AppSettingsSection" />
<section name="SafariIPad" type="System.Configuration.AppSettingsSection" />
<section name="EdgeWindows" type="System.Configuration.AppSettingsSection" />
<section name="IEWindows" type="System.Configuration.AppSettingsSection" />
</sectionGroup>
</configSections>
<appSettings>
<add key="Platform" value="Android" />
<add key="Env" value="dev" />
<add key="expectedResponseTimeInMs" value="5000" />
<add key="input" value="TestData\Input" />
<add key="output" value="TestData\Output" />
<add key="before" value="TestData\Before" />
<add key="after" value="TestData\After" />
<add key="DeploymentDate" value="" />
<add key="ReadFileUrl" value="" />
<!--mandatory keys-->
<!-- URL Configuration-->
<add key="protocol" value="http" />
<add key="host" value="eshop.31d164c105ec415cb0bc.eastus.aksapp.io" />
<add key="url" value="/" />
<!--<add key="browser" value="Safari" />-->
<add key="SimulateMobileBrowser" value="false" />
<add key="browser" value="Chrome" />
<!--InternetExplorer, Firefox, FirefoxPortable, PhantomJs, RemoteWebDriver, Edge, BrowserStack-->
<add key="DriverCapabilities" value="CloudProvider" />
<!--The browser to use, based on which the appropriate browser 'Preferences/Arguments/Extensions' get picked up from the config below and applied to the DriverContext-->
<add key="CrossBrowserEnvironment" value="ChromeWindows" />
<add key="BuildNumber" value="" />
<add key="FirefoxUseLegacyImplementation" value="false" />
<add key="FireFoxPath" value="FirefoxPortable.exe" />
<add key="PhantomJsPath" value="" />
<add key="RemoteWebDriverHub" value="http://hub-cloud.browserstack.com/wd/hub" />
<!--<add key="proxy" value="127.0.0.1:9999" />-->
<!--nlog trace level must be set to "trace" for at least one logger to see EventFiringWebDriver logs-->
<add key="EnableEventFiringWebDriver" value="false" />
<!-- Used for ElementStyle Validations -->
<!--timeouts-->
<add key="longTimeout" value="9" />
<add key="mediumTimeout" value="6" />
<add key="shortTimeout" value="3" />
<add key="ImplicitlyWaitMilliseconds" value="5000" />
<!--Enable or disable synchronization with AngularJS-->
<add key="SynchronizationWithAngularEnabled" value="false" />
<!--Downloaded files, screenshots and page source location-->
<add key="UseCurrentDirectory" value="true" />
<add key="DownloadFolder" value="TestOutput\\Downloads" />
<add key="ScreenShotFolder" value="TestOutput\\Screenshots" />
<add key="PageSourceFolder" value="TestOutput\\PageSources" />
<!--Screenshots and logging-->
<add key="FullDesktopScreenShotEnabled" value="false" />
<add key="SeleniumScreenShotEnabled" value="true" />
<add key="GetPageSourceEnabled" value="false" />
<!--JavaScript Error Logging-->
<add key="JavaScriptErrorLogging" value="false"/>
<add key="JavaScriptErrorTypes" value="SyntaxError,EvalError,ReferenceError,RangeError,TypeError,URIError,Refused to display,Internal Server Error,Cannot read property" />
<!--Use default firefox profile?-->
<add key="UseDefaultFirefoxProfile" value="false" />
<add key="PathToFirefoxProfile" value="C:\Users\ci_objectivity\AppData\Roaming\Mozilla\Firefox\Profiles" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
<!--Perf logging-->
<add key="EnablePerfDebugLogging" value="false" />
<add key="EnablePerfTag" value="false"/>
<add key="PerfExecutor" value="locust -f {1}.py --no-web --host={3} --num-request=40 --clients=20 --hatch-rate=20 --print-stats --csv={1} --logfile={1}.log" />
<!--<add key="PerfExecutor" value="abs -n 40 -s 20 -c 20 -e {1}.csv -g {1}.tsv -T &quot;application/json&quot; -H &quot;Authorization:Bearer AUTH_TOKEN&quot; -H &quot;BusinessContext:BUSINESS_CONTEXT&quot; -v 3 &quot;{2}&quot;" />-->
<add key="TestProjectName" value="EShopApplicationWebSolution" />
<add key="DefaultKeyPrefix" value="" />
<!--Driver and Browser paths: Leave it blank to pick it from the default output directory-->
<add key="PathToChromeDriverDirectory" value="" />
<!--<add key="PathToFirefoxDriverDirectory" value="" />
<add key="PathToInternetExplorerDriverDirectory" value="" />
<add key="PathToEdgeDriverDirectory" value="" />
<add key="ChromeBrowserExecutableLocation" value="" />
<add key="FireFoxBrowserExecutableLocation" value="" />-->
</appSettings>
<keyVault>
<add key="ClientId" value="" />
<add key="ClientSecret" value="" /> <!-- TODO: Replace Client-secret with Cert based approach -->
<add key="VaultUri" value="https://xyz-secrets-{Env}-kv.vault.azure.net/secrets/" /> <!-- The URL should end with "secrets/" -->
<add key="CertThumbprint" value="" />
<add key="CertPath" value="" />
<add key="CertPwd" value="" />
<add key="SqlClientIdKey" value="DbClientId" /> <!-- Key from KeyVault -->
<add key="SqlClientSecretKey" value="DbClientSecret" /> <!-- Key from KeyVault -->
</keyVault>
<database>
<add key="AdTenant" value="" />
<add key="DbKey" value="xyz-storage-core-{Env}-db" /> <!-- Database name -->
<add key="DbServer" value="xyz-storage-core-{Env}-ss.database.windows.net" /> <!-- Database Server name -->
<add key="DbUser" value="" />
<add key="DbPwd" value="" />
</database>
<blobStorage>
<add key="ConnectionStringKey" value="SecretName" /> <!-- Key from KeyVault -->
</blobStorage>
<tableStorage>
<add key="ConnectionStringKey" value="SecretName" /> <!-- Key from KeyVault -->
</tableStorage>
<serviceBus>
<add key="ConnectionStringKey" value="SecretName" /> <!-- Key from KeyVault -->
</serviceBus>
<docDb>
<add key="DatabaseName" value="" />
<add key="CollectionName" value="" />
<add key="EndPointUrl" value="https://xyz-{Env}-cosmos-sql.documents.azure.com:443" />
<add key="AuthorizationKey" value="" /> <!-- Ideally, the Key from KeyVault -->
</docDb>
<dataLake>
<add key="ClientId" value="" />
<add key="ClientSecret" value="" />
<add key="TenantId" value="" />
<add key="AccountName" value="" />
<add key="DnsSuffix" value="" />
</dataLake>
<appInsights>
<add key="Url" value="https://api.applicationinsights.io/v1/apps/" />
<add key="ApiKey" value="x-api-key" />
<add key="ApiValue" value="" />
<add key="AppId" value="" />
</appInsights>
<azureAd>
<add key="IsB2C" value="true" />
<add key="AuthUrl" value="https://login.microsoftonline.com/{TenantName}/oauth2/v2.0/authorize?p={SignInPolicyName}&amp;client_id={clientId}&amp;redirect_uri={RedirectPath}{CallBackPath}&amp;response_type=code%20id_token&amp;scope=openid%20profile%20offline_access%20{ApiScopes}" />
<add key="TenantName" value="xxx.onmicrosoft.com" />
<add key="AzureAdB2CInstance" value="https://login.microsoftonline.com/tfp" />
<add key="SignInPolicyName" value="xxx{Env}{Company}" />
<add key="Authority" value="{AzureAdB2CInstance}/{TenantName}/{SignInPolicyName}/v2.0" />
<add key="ApiPath" value="https://{TenantName}/{Company}{Env}api" />
<add key="ApiScopes" value="{ApiPath}/read" />
<add key="RedirectPath" value="http://localhost:8704" /><!--https://{Company}portal{Env}.npgtssweb.com-->
<add key="ApiUrl" value="https://xxx-{Env}-api-services.azurewebsites.net/" />
<add key="CallBackPath" value="/{Company}-signin-oidc" />
<add key="ClientId" value="clientid" />
<add key="ClientSecret" value="clientsecret" />
<add key="UserIdField" value="//*[@id='signInName']" />
<add key="PasswordField" value="//*[@id='password']" />
<add key="SubmitField" value="//*[@id='next']" />
<!--<add key="SignedOutCallbackPath" value="/{Company}-signout-callback-oidc" />-->
<!--<add key="ResetPasswordPolicyName" value="xxx{Env}{Company}" />-->
</azureAd>
<adfpipeline>
<add key="AdfTenantId" value="" />
<add key="AdfClientId" value="" />
<add key="AdfClientSecret" value="" />
<add key="AdfSubscriptionId" value="" />
<add key="AdfResourceGroupName" value="" />
<add key="DataFactoryName" value=""/>
<add key="WaitTimeInMilliSeconds" value=""/>
</adfpipeline>
<specFlow>
<stepAssemblies>
<stepAssembly assembly="Ocaramba" />
<stepAssembly assembly="EShopApplicationWebSolution" />
<stepAssembly assembly="Bdd.Core" />
<stepAssembly assembly="Bdd.Core.Web" />
</stepAssemblies>
<!-- https://specflow.org/2019/updating-to-specflow-3/ -->
<!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
</specFlow>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<targets async="true">
<target name="logfile" xsi:type="File" fileName="${basedir}\EShopApplicationWebSolution_${date:format=ddMMMyyyy:universalTime=false:cached=True}.log" layout="${longdate}|${level}|${callsite}|${message}|${exception}" />
<target name="perf" xsi:type="File" fileName="${basedir}\EShopApplicationWebSolution.Perf_${date:format=ddMMMyyyy_hh.mm.ss.tt:universalTime=false:cached=True}.json" layout="${message}," />
<target name="console" xsi:type="ColoredConsole" layout="[${level}] ${message}|${exception}" />
<target name="debugger" xsi:type="Debugger" layout="[${level}] ${message}|${exception}" />
</targets>
<rules>
<logger name="Perf" minlevel="Debug" writeTo="perf" />
<logger name="*" minlevel="Debug" writeTo="debugger" />
<logger name="*" minlevel="Debug" writeTo="logfile" />
<logger name="*" minlevel="Debug" writeTo="console" />
</rules>
</nlog>
<FirefoxPreferences>
<!--add key="PreferenceToBeOverride" value="NewValue" /-->
</FirefoxPreferences>
<FirefoxExtensions>
<!-->add key="FirefoxPluginName.xpi" value=""/-->
</FirefoxExtensions>
<InternetExplorerPreferences>
</InternetExplorerPreferences>
<ChromePreferences>
<add key="download.default_directory" value="TestData" />
<add key="download.prompt_for_download" value="false" />
</ChromePreferences>
<ChromeExtensions>
<!-->add key="ChromePluginName.crx" value=""/-->
</ChromeExtensions>
<ChromeArguments>
<add key="incognito" value="true" />
<add key="no-sandbox" value="true" />
<!--<add key="headless" value="true" />
<add key="disable-gpu" value="true" />
<add key="disable-software-rasterizer" value="true" />-->
</ChromeArguments>
<DriverCapabilities>
<add key="browserstack.user" value=""/>
<add key="browserstack.key" value=""/>
<add key="project" value="EShopApplicationWebSolution"/>
<add key="browserstack.debug" value="true" />
<add key="browserstack.networkLogs" value="true" />
<add key="browserstack.console" value="warnings" />
<!--https://www.browserstack.com/automate/capabilities-->
<add key="acceptSslCerts" value="true" />
<!--<add key="browserstack.local" value="false" />-->
<!--<add key="browserstack.ie.enablePopups" value="true" />-->
<!--<add key="browserstack.safari.enablePopups" value="true" />-->
<!--<add key="browserstack.selenium_version" value="3.5.2" />-->
<!--TestingBot related stuff-->
<!--<add key="key" value="" />
<add key="secret" value="" />
<add key="server" value="" />-->
</DriverCapabilities>
<environments>
<ChromeWindows>
<!--<add key="browser_version" value="65.0" />-->
<add key="browser" value="chrome" />
<add key="os" value="Windows"/>
<add key="os_version" value="10"/>
<add key="resolution" value="1366x768" />
<add key="name" value="" />
</ChromeWindows>
<ChromeWindowsMobile>
<!--<add key="browser_version" value="65.0" />-->
<add key="browser" value="chrome" />
<add key="os" value="Windows"/>
<add key="os_version" value="10"/>
<add key="resolution" value="720x480" />
<add key="name" value="" />
</ChromeWindowsMobile>
<ChromeMac>
<add key="browser" value="chrome" />
<add key="os" value="OS X"/>
<add key="os_version" value="High Sierra"/>
<add key="name" value="" />
</ChromeMac>
<ChromeAndroid>
<add key="os_version" value="7.1"/>
<add key="device" value="Google Pixel" />
<add key="real_mobile" value="true" />
<add key="name" value="" />
<!--<add key="deviceOrientation" value="landscape" />-->
</ChromeAndroid>
<SafariMac>
<add key="browser" value="safari" />
<add key="os" value="OS X"/>
<add key="os_version" value="High Sierra"/>
</SafariMac>
<SafariIPhone>
<add key="device" value="iPhone 7" />
<add key="os_version" value="10.3"/>
<add key="real_mobile" value="true" />
</SafariIPhone>
<SafariIPad>
<add key="device" value="iPad 5th" />
<add key="os_version" value="11.0"/>
<add key="real_mobile" value="true" />
</SafariIPad>
<EdgeWindows>
<add key="browser" value="edge" />
<add key="os" value="Windows"/>
<add key="os_version" value="10"/>
</EdgeWindows>
<IEWindows>
<add key="browser" value="IE" />
<add key="browser_version" value="10.0" />
<add key="os" value="Windows"/>
<add key="os_version" value="8"/>
</IEWindows>
<FirefoxWindows>
<add key="browser" value="firefox" />
<add key="os" value="Windows"/>
<add key="os_version" value="10"/>
</FirefoxWindows>
</environments>
<!-- Docs: https://vamsitp.github.io/spexdocs/ -->
<!-- Alternative to Spex.json -->
<spex>
<add key="Account" value="{account}" />
<add key="Project" value="{project}" />
<add key="PersonalAccessToken" value="{pat}" />
<add key="AreaPath" value="{areaPath}" />
<add key="IterationPath" value="{project}\{iteration-path}" />
<add key="DefaultAssignedTo" value="{default-user-email}" />
<add key="TestProjectPath" value=".\EShopApplicationWebSolution.csproj" />
<add key="TestAssemblyPath" value=".\bin\debug\EShopApplicationWebSolution.dll" />
<!-- Comma separated filters (e.g. Features,FeatureName1,path2/FeatureName2) -->
<add key="FeatureFilters" value="" />
<!-- Comma separated filters (e.g. ScenarioName1,ScenarioName2) -->
<add key="ScenarioFilters" value="" />
<!-- Comma separated tags (e.g. @attach,@input) -->
<add key="AttachmentTags" value="@attach" />
<!-- Root folder for attachments -->
<add key="AttachmentsPath" value="TestData" />
<!-- Comma separated fields (e.g. customField1=defaultValue1,customField2=defaultValue2) -->
<add key="AdditionalFields" value="" />
<add key="BddThenAsExpectedResult" value="false" />
<add key="ScenarioOutlineExamplesInline" value="false" />
<!-- Valid values: blank, s, r, m -->
<add key="QuiteMode" value="" />
</spex>
<reporting>
<add key="Path" value="TestOutput\Reports" />
<add key="Enabled" value="true" />
<add key="DarkTheme" value="true" />
<add key="ShowSteps" value="true" />
<add key="ShowLogs" value="true" />
</reporting>
<chaosMonkey>
<add key="Enabled" value="false" />
<add key="sqlDb" value="SqlConnectionString" />
<add key="blobStorage" value="BlobConnectionString" />
<add key="tableStorage" value="TableConnectionString" />
<add key="serviceBus" value="ServiceBusConnectionString" />
<add key="dataLake" value="DataLakeConnectionString" />
<add key="function" value="FunctionConnectionString" />
<add key="logicApp" value="LogicAppConnectionString" />
<add key="aks" value="AksConnectionString" />
<add key="appService" value="AppServiceConnectionString" />
</chaosMonkey>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider"
type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
serviceUri="" />
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider"
type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
serviceUri="" cacheTimeout="86400" />
</providers>
</roleManager>
</system.web>
</configuration>