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

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <configSections>
  4. <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
  5. <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
  6. <section name="FirefoxPreferences" type="System.Configuration.AppSettingsSection" />
  7. <section name="FirefoxExtensions" type="System.Configuration.AppSettingsSection" />
  8. <section name="ChromePreferences" type="System.Configuration.AppSettingsSection" />
  9. <section name="InternetExplorerPreferences" type="System.Configuration.AppSettingsSection" />
  10. <section name="ChromeExtensions" type="System.Configuration.AppSettingsSection" />
  11. <section name="DriverCapabilities" type="System.Configuration.AppSettingsSection" />
  12. <section name="ChromeArguments" type="System.Configuration.AppSettingsSection" />
  13. <section name="Inputs" type="System.Configuration.AppSettingsSection" />
  14. <section name="Outputs" type="System.Configuration.AppSettingsSection" />
  15. <section name="keyVault" type="System.Configuration.AppSettingsSection" />
  16. <section name="database" type="System.Configuration.AppSettingsSection" />
  17. <section name="blobStorage" type="System.Configuration.AppSettingsSection" />
  18. <section name="docDb" type="System.Configuration.AppSettingsSection" />
  19. <section name="dataLake" type="System.Configuration.AppSettingsSection" />
  20. <section name="tableStorage" type="System.Configuration.AppSettingsSection" />
  21. <section name="appInsights" type="System.Configuration.AppSettingsSection" />
  22. <section name="serviceBus" type="System.Configuration.AppSettingsSection" />
  23. <section name="azureAd" type="System.Configuration.AppSettingsSection" />
  24. <section name="adfpipeline" type="System.Configuration.AppSettingsSection" />
  25. <section name="spex" type="System.Configuration.AppSettingsSection" />
  26. <section name="reporting" type="System.Configuration.AppSettingsSection" />
  27. <section name="chaosMonkey" type="System.Configuration.AppSettingsSection" />
  28. <sectionGroup name="environments">
  29. <section name="ChromeWindows" type="System.Configuration.AppSettingsSection" />
  30. <section name="ChromeWindowsMobile" type="System.Configuration.AppSettingsSection" />
  31. <section name="ChromeAndroid" type="System.Configuration.AppSettingsSection" />
  32. <section name="ChromeMac" type="System.Configuration.AppSettingsSection" />
  33. <section name="FirefoxWindows" type="System.Configuration.AppSettingsSection" />
  34. <section name="SafariMac" type="System.Configuration.AppSettingsSection" />
  35. <section name="SafariIPhone" type="System.Configuration.AppSettingsSection" />
  36. <section name="SafariIPad" type="System.Configuration.AppSettingsSection" />
  37. <section name="EdgeWindows" type="System.Configuration.AppSettingsSection" />
  38. <section name="IEWindows" type="System.Configuration.AppSettingsSection" />
  39. </sectionGroup>
  40. </configSections>
  41. <appSettings>
  42. <add key="Platform" value="Android" />
  43. <add key="Env" value="dev" />
  44. <add key="expectedResponseTimeInMs" value="5000" />
  45. <add key="input" value="TestData\Input" />
  46. <add key="output" value="TestData\Output" />
  47. <add key="before" value="TestData\Before" />
  48. <add key="after" value="TestData\After" />
  49. <add key="DeploymentDate" value="" />
  50. <add key="ReadFileUrl" value="" />
  51. <!--mandatory keys-->
  52. <!-- URL Configuration-->
  53. <add key="protocol" value="http" />
  54. <add key="host" value="eshop.31d164c105ec415cb0bc.eastus.aksapp.io" />
  55. <add key="url" value="/" />
  56. <!--<add key="browser" value="Safari" />-->
  57. <add key="SimulateMobileBrowser" value="false" />
  58. <add key="browser" value="Chrome" />
  59. <!--InternetExplorer, Firefox, FirefoxPortable, PhantomJs, RemoteWebDriver, Edge, BrowserStack-->
  60. <add key="DriverCapabilities" value="CloudProvider" />
  61. <!--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-->
  62. <add key="CrossBrowserEnvironment" value="ChromeWindows" />
  63. <add key="BuildNumber" value="" />
  64. <add key="FirefoxUseLegacyImplementation" value="false" />
  65. <add key="FireFoxPath" value="FirefoxPortable.exe" />
  66. <add key="PhantomJsPath" value="" />
  67. <add key="RemoteWebDriverHub" value="http://hub-cloud.browserstack.com/wd/hub" />
  68. <!--<add key="proxy" value="127.0.0.1:9999" />-->
  69. <!--nlog trace level must be set to "trace" for at least one logger to see EventFiringWebDriver logs-->
  70. <add key="EnableEventFiringWebDriver" value="false" />
  71. <!-- Used for ElementStyle Validations -->
  72. <!--timeouts-->
  73. <add key="longTimeout" value="9" />
  74. <add key="mediumTimeout" value="6" />
  75. <add key="shortTimeout" value="3" />
  76. <add key="ImplicitlyWaitMilliseconds" value="5000" />
  77. <!--Enable or disable synchronization with AngularJS-->
  78. <add key="SynchronizationWithAngularEnabled" value="false" />
  79. <!--Downloaded files, screenshots and page source location-->
  80. <add key="UseCurrentDirectory" value="true" />
  81. <add key="DownloadFolder" value="TestOutput\\Downloads" />
  82. <add key="ScreenShotFolder" value="TestOutput\\Screenshots" />
  83. <add key="PageSourceFolder" value="TestOutput\\PageSources" />
  84. <!--Screenshots and logging-->
  85. <add key="FullDesktopScreenShotEnabled" value="false" />
  86. <add key="SeleniumScreenShotEnabled" value="true" />
  87. <add key="GetPageSourceEnabled" value="false" />
  88. <!--JavaScript Error Logging-->
  89. <add key="JavaScriptErrorLogging" value="false"/>
  90. <add key="JavaScriptErrorTypes" value="SyntaxError,EvalError,ReferenceError,RangeError,TypeError,URIError,Refused to display,Internal Server Error,Cannot read property" />
  91. <!--Use default firefox profile?-->
  92. <add key="UseDefaultFirefoxProfile" value="false" />
  93. <add key="PathToFirefoxProfile" value="C:\Users\ci_objectivity\AppData\Roaming\Mozilla\Firefox\Profiles" />
  94. <add key="ClientSettingsProvider.ServiceUri" value="" />
  95. <!--Perf logging-->
  96. <add key="EnablePerfDebugLogging" value="false" />
  97. <add key="EnablePerfTag" value="false"/>
  98. <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" />
  99. <!--<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;" />-->
  100. <add key="TestProjectName" value="EShopApplicationWebSolution" />
  101. <add key="DefaultKeyPrefix" value="" />
  102. <!--Driver and Browser paths: Leave it blank to pick it from the default output directory-->
  103. <add key="PathToChromeDriverDirectory" value="" />
  104. <!--<add key="PathToFirefoxDriverDirectory" value="" />
  105. <add key="PathToInternetExplorerDriverDirectory" value="" />
  106. <add key="PathToEdgeDriverDirectory" value="" />
  107. <add key="ChromeBrowserExecutableLocation" value="" />
  108. <add key="FireFoxBrowserExecutableLocation" value="" />-->
  109. </appSettings>
  110. <keyVault>
  111. <add key="ClientId" value="" />
  112. <add key="ClientSecret" value="" /> <!-- TODO: Replace Client-secret with Cert based approach -->
  113. <add key="VaultUri" value="https://xyz-secrets-{Env}-kv.vault.azure.net/secrets/" /> <!-- The URL should end with "secrets/" -->
  114. <add key="CertThumbprint" value="" />
  115. <add key="CertPath" value="" />
  116. <add key="CertPwd" value="" />
  117. <add key="SqlClientIdKey" value="DbClientId" /> <!-- Key from KeyVault -->
  118. <add key="SqlClientSecretKey" value="DbClientSecret" /> <!-- Key from KeyVault -->
  119. </keyVault>
  120. <database>
  121. <add key="AdTenant" value="" />
  122. <add key="DbKey" value="xyz-storage-core-{Env}-db" /> <!-- Database name -->
  123. <add key="DbServer" value="xyz-storage-core-{Env}-ss.database.windows.net" /> <!-- Database Server name -->
  124. <add key="DbUser" value="" />
  125. <add key="DbPwd" value="" />
  126. </database>
  127. <blobStorage>
  128. <add key="ConnectionStringKey" value="SecretName" /> <!-- Key from KeyVault -->
  129. </blobStorage>
  130. <tableStorage>
  131. <add key="ConnectionStringKey" value="SecretName" /> <!-- Key from KeyVault -->
  132. </tableStorage>
  133. <serviceBus>
  134. <add key="ConnectionStringKey" value="SecretName" /> <!-- Key from KeyVault -->
  135. </serviceBus>
  136. <docDb>
  137. <add key="DatabaseName" value="" />
  138. <add key="CollectionName" value="" />
  139. <add key="EndPointUrl" value="https://xyz-{Env}-cosmos-sql.documents.azure.com:443" />
  140. <add key="AuthorizationKey" value="" /> <!-- Ideally, the Key from KeyVault -->
  141. </docDb>
  142. <dataLake>
  143. <add key="ClientId" value="" />
  144. <add key="ClientSecret" value="" />
  145. <add key="TenantId" value="" />
  146. <add key="AccountName" value="" />
  147. <add key="DnsSuffix" value="" />
  148. </dataLake>
  149. <appInsights>
  150. <add key="Url" value="https://api.applicationinsights.io/v1/apps/" />
  151. <add key="ApiKey" value="x-api-key" />
  152. <add key="ApiValue" value="" />
  153. <add key="AppId" value="" />
  154. </appInsights>
  155. <azureAd>
  156. <add key="IsB2C" value="true" />
  157. <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}" />
  158. <add key="TenantName" value="xxx.onmicrosoft.com" />
  159. <add key="AzureAdB2CInstance" value="https://login.microsoftonline.com/tfp" />
  160. <add key="SignInPolicyName" value="xxx{Env}{Company}" />
  161. <add key="Authority" value="{AzureAdB2CInstance}/{TenantName}/{SignInPolicyName}/v2.0" />
  162. <add key="ApiPath" value="https://{TenantName}/{Company}{Env}api" />
  163. <add key="ApiScopes" value="{ApiPath}/read" />
  164. <add key="RedirectPath" value="http://localhost:8704" /><!--https://{Company}portal{Env}.npgtssweb.com-->
  165. <add key="ApiUrl" value="https://xxx-{Env}-api-services.azurewebsites.net/" />
  166. <add key="CallBackPath" value="/{Company}-signin-oidc" />
  167. <add key="ClientId" value="clientid" />
  168. <add key="ClientSecret" value="clientsecret" />
  169. <add key="UserIdField" value="//*[@id='signInName']" />
  170. <add key="PasswordField" value="//*[@id='password']" />
  171. <add key="SubmitField" value="//*[@id='next']" />
  172. <!--<add key="SignedOutCallbackPath" value="/{Company}-signout-callback-oidc" />-->
  173. <!--<add key="ResetPasswordPolicyName" value="xxx{Env}{Company}" />-->
  174. </azureAd>
  175. <adfpipeline>
  176. <add key="AdfTenantId" value="" />
  177. <add key="AdfClientId" value="" />
  178. <add key="AdfClientSecret" value="" />
  179. <add key="AdfSubscriptionId" value="" />
  180. <add key="AdfResourceGroupName" value="" />
  181. <add key="DataFactoryName" value=""/>
  182. <add key="WaitTimeInMilliSeconds" value=""/>
  183. </adfpipeline>
  184. <specFlow>
  185. <stepAssemblies>
  186. <stepAssembly assembly="Ocaramba" />
  187. <stepAssembly assembly="EShopApplicationWebSolution" />
  188. <stepAssembly assembly="Bdd.Core" />
  189. <stepAssembly assembly="Bdd.Core.Web" />
  190. </stepAssemblies>
  191. <!-- https://specflow.org/2019/updating-to-specflow-3/ -->
  192. <!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
  193. </specFlow>
  194. <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">
  195. <targets async="true">
  196. <target name="logfile" xsi:type="File" fileName="${basedir}\EShopApplicationWebSolution_${date:format=ddMMMyyyy:universalTime=false:cached=True}.log" layout="${longdate}|${level}|${callsite}|${message}|${exception}" />
  197. <target name="perf" xsi:type="File" fileName="${basedir}\EShopApplicationWebSolution.Perf_${date:format=ddMMMyyyy_hh.mm.ss.tt:universalTime=false:cached=True}.json" layout="${message}," />
  198. <target name="console" xsi:type="ColoredConsole" layout="[${level}] ${message}|${exception}" />
  199. <target name="debugger" xsi:type="Debugger" layout="[${level}] ${message}|${exception}" />
  200. </targets>
  201. <rules>
  202. <logger name="Perf" minlevel="Debug" writeTo="perf" />
  203. <logger name="*" minlevel="Debug" writeTo="debugger" />
  204. <logger name="*" minlevel="Debug" writeTo="logfile" />
  205. <logger name="*" minlevel="Debug" writeTo="console" />
  206. </rules>
  207. </nlog>
  208. <FirefoxPreferences>
  209. <!--add key="PreferenceToBeOverride" value="NewValue" /-->
  210. </FirefoxPreferences>
  211. <FirefoxExtensions>
  212. <!-->add key="FirefoxPluginName.xpi" value=""/-->
  213. </FirefoxExtensions>
  214. <InternetExplorerPreferences>
  215. </InternetExplorerPreferences>
  216. <ChromePreferences>
  217. <add key="download.default_directory" value="TestData" />
  218. <add key="download.prompt_for_download" value="false" />
  219. </ChromePreferences>
  220. <ChromeExtensions>
  221. <!-->add key="ChromePluginName.crx" value=""/-->
  222. </ChromeExtensions>
  223. <ChromeArguments>
  224. <add key="incognito" value="true" />
  225. <add key="no-sandbox" value="true" />
  226. <!--<add key="headless" value="true" />
  227. <add key="disable-gpu" value="true" />
  228. <add key="disable-software-rasterizer" value="true" />-->
  229. </ChromeArguments>
  230. <DriverCapabilities>
  231. <add key="browserstack.user" value=""/>
  232. <add key="browserstack.key" value=""/>
  233. <add key="project" value="EShopApplicationWebSolution"/>
  234. <add key="browserstack.debug" value="true" />
  235. <add key="browserstack.networkLogs" value="true" />
  236. <add key="browserstack.console" value="warnings" />
  237. <!--https://www.browserstack.com/automate/capabilities-->
  238. <add key="acceptSslCerts" value="true" />
  239. <!--<add key="browserstack.local" value="false" />-->
  240. <!--<add key="browserstack.ie.enablePopups" value="true" />-->
  241. <!--<add key="browserstack.safari.enablePopups" value="true" />-->
  242. <!--<add key="browserstack.selenium_version" value="3.5.2" />-->
  243. <!--TestingBot related stuff-->
  244. <!--<add key="key" value="" />
  245. <add key="secret" value="" />
  246. <add key="server" value="" />-->
  247. </DriverCapabilities>
  248. <environments>
  249. <ChromeWindows>
  250. <!--<add key="browser_version" value="65.0" />-->
  251. <add key="browser" value="chrome" />
  252. <add key="os" value="Windows"/>
  253. <add key="os_version" value="10"/>
  254. <add key="resolution" value="1366x768" />
  255. <add key="name" value="" />
  256. </ChromeWindows>
  257. <ChromeWindowsMobile>
  258. <!--<add key="browser_version" value="65.0" />-->
  259. <add key="browser" value="chrome" />
  260. <add key="os" value="Windows"/>
  261. <add key="os_version" value="10"/>
  262. <add key="resolution" value="720x480" />
  263. <add key="name" value="" />
  264. </ChromeWindowsMobile>
  265. <ChromeMac>
  266. <add key="browser" value="chrome" />
  267. <add key="os" value="OS X"/>
  268. <add key="os_version" value="High Sierra"/>
  269. <add key="name" value="" />
  270. </ChromeMac>
  271. <ChromeAndroid>
  272. <add key="os_version" value="7.1"/>
  273. <add key="device" value="Google Pixel" />
  274. <add key="real_mobile" value="true" />
  275. <add key="name" value="" />
  276. <!--<add key="deviceOrientation" value="landscape" />-->
  277. </ChromeAndroid>
  278. <SafariMac>
  279. <add key="browser" value="safari" />
  280. <add key="os" value="OS X"/>
  281. <add key="os_version" value="High Sierra"/>
  282. </SafariMac>
  283. <SafariIPhone>
  284. <add key="device" value="iPhone 7" />
  285. <add key="os_version" value="10.3"/>
  286. <add key="real_mobile" value="true" />
  287. </SafariIPhone>
  288. <SafariIPad>
  289. <add key="device" value="iPad 5th" />
  290. <add key="os_version" value="11.0"/>
  291. <add key="real_mobile" value="true" />
  292. </SafariIPad>
  293. <EdgeWindows>
  294. <add key="browser" value="edge" />
  295. <add key="os" value="Windows"/>
  296. <add key="os_version" value="10"/>
  297. </EdgeWindows>
  298. <IEWindows>
  299. <add key="browser" value="IE" />
  300. <add key="browser_version" value="10.0" />
  301. <add key="os" value="Windows"/>
  302. <add key="os_version" value="8"/>
  303. </IEWindows>
  304. <FirefoxWindows>
  305. <add key="browser" value="firefox" />
  306. <add key="os" value="Windows"/>
  307. <add key="os_version" value="10"/>
  308. </FirefoxWindows>
  309. </environments>
  310. <!-- Docs: https://vamsitp.github.io/spexdocs/ -->
  311. <!-- Alternative to Spex.json -->
  312. <spex>
  313. <add key="Account" value="{account}" />
  314. <add key="Project" value="{project}" />
  315. <add key="PersonalAccessToken" value="{pat}" />
  316. <add key="AreaPath" value="{areaPath}" />
  317. <add key="IterationPath" value="{project}\{iteration-path}" />
  318. <add key="DefaultAssignedTo" value="{default-user-email}" />
  319. <add key="TestProjectPath" value=".\EShopApplicationWebSolution.csproj" />
  320. <add key="TestAssemblyPath" value=".\bin\debug\EShopApplicationWebSolution.dll" />
  321. <!-- Comma separated filters (e.g. Features,FeatureName1,path2/FeatureName2) -->
  322. <add key="FeatureFilters" value="" />
  323. <!-- Comma separated filters (e.g. ScenarioName1,ScenarioName2) -->
  324. <add key="ScenarioFilters" value="" />
  325. <!-- Comma separated tags (e.g. @attach,@input) -->
  326. <add key="AttachmentTags" value="@attach" />
  327. <!-- Root folder for attachments -->
  328. <add key="AttachmentsPath" value="TestData" />
  329. <!-- Comma separated fields (e.g. customField1=defaultValue1,customField2=defaultValue2) -->
  330. <add key="AdditionalFields" value="" />
  331. <add key="BddThenAsExpectedResult" value="false" />
  332. <add key="ScenarioOutlineExamplesInline" value="false" />
  333. <!-- Valid values: blank, s, r, m -->
  334. <add key="QuiteMode" value="" />
  335. </spex>
  336. <reporting>
  337. <add key="Path" value="TestOutput\Reports" />
  338. <add key="Enabled" value="true" />
  339. <add key="DarkTheme" value="true" />
  340. <add key="ShowSteps" value="true" />
  341. <add key="ShowLogs" value="true" />
  342. </reporting>
  343. <chaosMonkey>
  344. <add key="Enabled" value="false" />
  345. <add key="sqlDb" value="SqlConnectionString" />
  346. <add key="blobStorage" value="BlobConnectionString" />
  347. <add key="tableStorage" value="TableConnectionString" />
  348. <add key="serviceBus" value="ServiceBusConnectionString" />
  349. <add key="dataLake" value="DataLakeConnectionString" />
  350. <add key="function" value="FunctionConnectionString" />
  351. <add key="logicApp" value="LogicAppConnectionString" />
  352. <add key="aks" value="AksConnectionString" />
  353. <add key="appService" value="AppServiceConnectionString" />
  354. </chaosMonkey>
  355. <system.web>
  356. <membership defaultProvider="ClientAuthenticationMembershipProvider">
  357. <providers>
  358. <add name="ClientAuthenticationMembershipProvider"
  359. type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
  360. serviceUri="" />
  361. </providers>
  362. </membership>
  363. <roleManager defaultProvider="ClientRoleProvider" enabled="true">
  364. <providers>
  365. <add name="ClientRoleProvider"
  366. type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
  367. serviceUri="" cacheTimeout="86400" />
  368. </providers>
  369. </roleManager>
  370. </system.web>
  371. </configuration>