UNPKG

sense-navigation

Version:

Sense Sheet Navigation + Actions visualization extension for Qlik Sense.

777 lines (744 loc) 39.8 kB
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>sense-navigation</title> <link href="https://fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet" type="text/css"> <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <script> $( document ).ready( function() { function closeViewer () { document.querySelector( ".image-viewer-container" ).className = "image-viewer-container"; setTimeout( function () { document.querySelector( ".image-viewer-container" ).style.display = "none"; }, 200 ); } function openViewer ( target ) { document.querySelector( ".image-viewer-container" ).style.display = "flex"; setTimeout( function () { document.querySelector( ".image-viewer-container" ).className = "image-viewer-container visible"; }, 0 ); var baseline = target.getAttribute( "data-baseline" ); var regression = target.getAttribute( "data-regression" ); var diff = target.getAttribute( "data-diff" ); var regressionTitle = target.getAttribute( "data-regressionTitle" ); var baselineTitle = target.getAttribute( "data-baselineTitle" ); var diffTitle = target.getAttribute( "data-diffTitle" ); [].slice.call( document.querySelectorAll( ".image-viewer .content > div" ) ).forEach( function ( node ) { if ( node.className === "regression" ) { node.querySelector( "img" ).setAttribute( "src", regression ); node.querySelector( "h4" ).innerText = regressionTitle; } else if ( node.className === "baseline" ) { node.querySelector( "img" ).setAttribute( "src", baseline ); node.querySelector( "h4" ).innerText = baselineTitle; } else if ( node.className === "diff" ) { node.querySelector( "img" ).setAttribute( "src", diff ); node.querySelector( "h4" ).innerText = diffTitle; } } ); } $( "body" ).on("click", ".rendering-test", null, function( e ) { e.preventDefault(); openViewer( e.target ); return false; }); $( "body" ).on("click", ".image-viewer-container", null, function( e ) { if ( !e.target ) { return; } if ( e.target.className === "close" || e.target.className.match( /image-viewer-container/ ) ) { closeViewer(); } } ); $(".sensei-embed2").on("click", function () { $(this).parents("article").find(".test-code").slideToggle("slow"); }); $(".sensei-embed").on("click", function () { $(this).parents("article").find(".test-error-stack").slideToggle("slow"); }); } ); </script> <style type="text/css"> body{ font-family: "Roboto", sans-serif; font-size: 14px; text-rendering: optimizeLegibility !important; -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale !important; line-height: 1.42857143; color: #333; background-color: #fff; margin: 0px; } a{ text-decoration: none; color: inherit; } pre{ margin-top: 0px; } h1, h1, h3, h4 { text-shadow:1px 1px 1px 1px rgba(0,0,0,0.005); margin: 0px; } li{ list-style-type:none; } .top_header{ height: 40px; padding-left: 50px; padding-right: 50px; background: #333; color: #eee; -webkit-box-shadow: rgba(0,0,0,0.8) 0px 0px 32px; -moz-box-shadow: rgba(0,0,0,0.8) 0px 0px 32px; box-shadow: rgba(0,0,0,0.8) 0px 0px 32px; } .name{ height: 22px; } .version{ font-size: 8px; } .description{ color: #bbb; font-size: 10px; text-transform: uppercase; } .info_header{ display: flex; flex-flow: row; justify-content: space-between; align-content: center; align-items: stretch; height: 30px; line-height: 30px; padding-left: 50px; padding-right: 50px; font-size: 10px; text-transform: uppercase; border-bottom: 1px solid rgba(0,0,0,0.25); -webkit-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px; -moz-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px; box-shadow: rgba(255,255,255,0.25) 0px 1px 0px; } .info_header ul { margin: 0px; padding: 0px; flex: 1 1 auto; } .info_header li { display: inline; list-style-type: none; padding-left: 10px; padding-right: 10px; border-right: 1px solid rgba(0,0,0,0.25); -webkit-box-shadow: rgba(255,255,255,0.25) 1px 0px 0px; -moz-box-shadow: rgba(255,255,255,0.25) 1px 0px 0px; box-shadow: rgba(255,255,255,0.25) 1px 0px 0px; } .info li:first-child, .stats li:last-child { border-left: 1px solid rgba(0,0,0,0.25); -webkit-box-shadow: inset rgba(255,255,255,0.25) 1px 0px 0px; -moz-box-shadow: inset rgba(255,255,255,0.25) 1px 0px 0px; box-shadow: inset rgba(255,255,255,0.25) 1px 0px 0px; } .info li{ float: left; } .stats li{ float: right; } .status i{ padding-right: 4px; } /*.stats li:before { content: " "; display: block; background: #c00; height: 2px; width: 100%; right:0px; top: 0px; }*/ .info_header i{ padding-right: 4px; } .passed{ color: #5cb85c; } .failed{ color: #d9534f; } .pending{ color: #5bc0de; } .total{ color: magenta; } .tests{ padding: 50px; } .collapsed{ display: none; } .message{ padding-left: 25px; padding-right: 5px; } .tests h4{ font-weight: 400; display: inline-block; } .testcase{ display: flex; flex-flow: row; justify-content: space-between; align-content: center; align-items: stretch; padding-top: 3px; } .testName{ flex: 1 1 auto; } .testInfo{ flex: 0 1 auto; } .hljs{ font-size: 85%; border-radius: 4px; } article:after{ content: " "; display: block; background: #ccc; height: 1px; width: 100%; right:0px; top: 0px; } @font-face { font-family: 'Sensei-Report'; /*src: url('fonts/Sensei-Report.woff?qik77y') format('woff');*/ src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff'); font-weight: normal; font-style: normal; } i, .icomoon-liga { font-family: 'Sensei-Report'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Enable Ligatures ================ */ letter-spacing: 0; -webkit-font-feature-settings: "liga"; -moz-font-feature-settings: "liga=1"; -moz-font-feature-settings: "liga"; -ms-font-feature-settings: "liga" 1; -o-font-feature-settings: "liga"; font-feature-settings: "liga"; } .sensei-calendar:before { content: "\e900"; } .sensei-image:before { content: "\e90d"; } .sensei-images:before { content: "\e90e"; } .sensei-stopwatch:before { content: "\e952"; } .sensei-display:before { content: "\e956"; } .sensei-earth:before { content: "\e9ca"; } .sensei-cross:before { content: "\ea0f"; } .sensei-checkmark:before { content: "\ea10"; } .sensei-pause2:before { content: "\ea1d"; } .sensei-sigma:before { content: "\ea67"; } .sensei-embed:before { content: "\ea7f"; } .sensei-embed2:before { content: "\ea80"; } .image-viewer-container { color: #666; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(51, 51, 51, 0.8); z-index: 100; display: none; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.2s ease; } .image-viewer { background: white; box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.1); border-radius: 4px; position: relative; transform: scale(0.8); transition: transform 0.4s ease; } .image-viewer-container.visible { opacity: 1; } .image-viewer-container.visible .image-viewer { transform: scale(1); } .image-viewer img, .image-viewer h4 { padding: 1em; margin: 0; } .image-viewer h4 { background: #fafafa; border-radius: 4px 4px 0 0; } .image-viewer .baseline, .image-viewer .diff { display: none; } .image-viewer .content:hover .baseline { display: block; } .image-viewer .content:hover .regression { display: none; } .image-viewer .content:active .diff { display: block; } .image-viewer .content:active .regression, .image-viewer .content:active .baseline { display: none; } .close { position: absolute; top: -1.5em; right: -1.5em; cursor: pointer; border-radius: 50%; color: white; background: #666; border: 2px solid white; padding: 0.3em 0.5em; line-height: 1em; } /*! * Agate by Taufik Nurrohman <https://github.com/tovic> * ---------------------------------------------------- * * #ade5fc * #a2fca2 * #c6b4f0 * #d36363 * #fcc28c * #fc9b9b * #ffa * #fff * #333 * #62c8f3 * #888 * */ .hljs { display: block; overflow-x: auto; padding: .5em; background: #333; color: white; -webkit-text-size-adjust: none; } .asciidoc .hljs-title, .hljs-label, .hljs-tag .hljs-title, .hljs-prompt, .http .hljs-request { font-weight: bold; } .hljs-change, .hljs-code { font-style: italic; } .hljs-tag, .ini .hljs-title { color: #62c8f3; } .hljs-id, .hljs-cbracket, .hljs-tag .hljs-value { color: #ade5fc; } .hljs-string, .hljs-bullet { color: #a2fca2; } .hljs-type, .hljs-variable, .hljs-name, .actionscript .hljs-title, .aspectj .hljs-annotation, .aspectj .hljs-title, .hljs-attribute, .hljs-change, .hljs-blockquote, .hljs-built_in { color: #ffa; } .hljs-number, .hljs-hexcolor, .hljs-link_label, .hljs-link_reference { color: #d36363; } .hljs-keyword, .hljs-literal, .hljs-constant, .css .hljs-tag, .hljs-typename, .hljs-winutils { color: #fcc28c; } .hljs-comment, .hljs-cdata, .hljs-preprocessor, .hljs-annotation, .hljs-decorator, .hljs-doctype, .hljs-deletion, .hljs-shebang, .apache .hljs-sqbracket, .tex .hljs-formula, .hljs-header, .hljs-horizontal_rule, .hljs-code { color: #888; } .hljs-regexp, .hljs-attr_selector { color: #c6b4f0; } .hljs-important, .hljs-doctype, .hljs-pi, .hljs-chunk, .actionscript .hljs-type, .hljs-shebang, .hljs-pragma, .http .hljs-attribute { color: #fc9b9b; } .hljs-deletion { background-color: #fc9b9b; color: #333; } .hljs-addition { background-color: #a2fca2; color: #333; } .hljs a, .hljs-tag .hljs-attribute { color: inherit; } .hljs a:focus, .hljs a:hover { color: inherit; text-decoration: underline; } </style> </head> <body> <header> <section class="top_header"> <h1 class="name">sense-navigation<span class="version"> v 1.0.0-beta-01</span></h1> <h3 class="description">Sense Sheet Navigation + Actions visualization extension for Qlik Sense.</h3> </section> <section class="info_header"> <ul class="info"> <li><i class="sensei-calendar"></i>Tuesday, January 23 2018, 23:09</li> <li><i class="sensei-earth"></i>chrome (63.0.3239.132)</li> <li><i class="sensei-stopwatch"></i>1:21 m</li> </ul> <ul class="stats"> <li><i class="sensei-sigma total"></i>TOTAL 14</li> <li><i class="sensei-pause2 pending"></i>PENDING 0</li> <li><i class="sensei-cross failed"></i>FAILED 0</li> <li><i class="sensei-checkmark passed"></i>PASSED 14</li> </ul> </section> </header> <section class="tests"> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>ACTIONS does something</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>1.428 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'ApplyBookmark'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'-- filterPane'</span>);<br> <span class="hljs-keyword">const</span> filterPane = <span class="hljs-keyword">new</span> FilterPane();<br> <span class="hljs-keyword">await</span> filterPane.get(<span class="hljs-string">'Dim1'</span>);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Button Alignment &#x3D;&gt; should be equal to the taken screenshot</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>6.500 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> appOverview = <span class="hljs-keyword">new</span> AppOverviewPage();<br> <span class="hljs-keyword">await</span> appOverview.get(<span class="hljs-string">'sense-navigation_v1x'</span>);<br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'Button Alignment'</span>);<br> <span class="hljs-keyword">await</span> browser.wait(EC.visibilityOf($(selectors.qvtSheet)), timeoutTime, <span class="hljs-string">'Sheet was not visible'</span>);<br> <span class="hljs-keyword">return</span> expect(<span class="hljs-keyword">await</span> browser.takeImageOf({<span class="hljs-attr">selector</span>: selectors.qvtSheet})).to.matchImageOf(<span class="hljs-string">'button_alignment'</span>, <span class="hljs-string">'button_alignment'</span>);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Button Icons &#x3D;&gt; should be equal to the taken screenshot</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>5.144 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> appOverview = <span class="hljs-keyword">new</span> AppOverviewPage();<br> <span class="hljs-keyword">await</span> appOverview.get(<span class="hljs-string">'sense-navigation_v1x'</span>);<br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'Icon-Buttons'</span>);<br> <span class="hljs-keyword">await</span> browser.wait(EC.visibilityOf($(selectors.qvtSheet)), timeoutTime, <span class="hljs-string">'Sheet was not visible'</span>);<br> <span class="hljs-keyword">return</span> expect(<span class="hljs-keyword">await</span> browser.takeImageOf({<span class="hljs-attr">selector</span>: selectors.qvtSheet})).to.matchImageOf(<span class="hljs-string">'button_icons'</span>, <span class="hljs-string">'button_icons'</span>);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use a button to do NOTHING</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>1.941 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetSheetId = <span class="hljs-string">'d38aba7e-c691-448c-bb69-91e63374f716'</span>;<br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'Nothing'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetSheetId), timeoutTime);<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(<span class="hljs-string">'state/analysis'</span>), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button for navigate to EDIT MODE</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>2.170 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'Switch to Edit'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(<span class="hljs-string">'/state/edit'</span>), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to navigate to the FIRST sheet</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>1.956 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetSheetId = <span class="hljs-string">'392462be-a70b-4f14-a4cd-05a7aab19ed8'</span>;<br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'GotoFirstSheet'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetSheetId), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to navigate to the LAST sheet</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>1.846 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetSheetId = <span class="hljs-string">'e9f4240b-2185-4b56-af7f-8e9a25253db0'</span>;<br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'GotoLastSheet'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetSheetId), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to navigate to the NEXT sheet</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>1.661 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetSheetId = <span class="hljs-string">'36b1f160-b676-4a3e-a753-c5f51a467f90'</span>;<br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'first'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'GotoNextSheet'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetSheetId), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to navigate to the PREV sheet</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>1.639 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetSheetId = <span class="hljs-string">'392462be-a70b-4f14-a4cd-05a7aab19ed8'</span>;<br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'second'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'GotoPrevSheet'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetSheetId), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to navigate to a SELECTED sheet</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>2.123 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetSheetId = <span class="hljs-string">'7976f92b-8b88-444a-b10f-6d878e72d498'</span>; <span class="hljs-comment">// =Icon-Buttons</span><br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'GotoSelectedSheet'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetSheetId), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to navigate to a SPECIFIC sheet</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>2.77 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetSheetId = <span class="hljs-string">'7976f92b-8b88-444a-b10f-6d878e72d498'</span>; <span class="hljs-comment">// =Icon-Buttons</span><br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'GotoSpecificSheet'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetSheetId), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to open a new website (SAME window)</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>4.250 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'OpenUrl:self'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(<span class="hljs-string">'https://github.com'</span>), timeoutTime);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to open a new website (NEW window)</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>3.776 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'OpenUrl:blank'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.sleep(<span class="hljs-number">1000</span>);<br> <span class="hljs-keyword">let</span> handles = <span class="hljs-keyword">await</span> browser.getAllWindowHandles();<br> <span class="hljs-keyword">await</span> browser.switchTo().window(handles[<span class="hljs-number">1</span>]);<br> <span class="hljs-keyword">let</span> newUrl = <span class="hljs-keyword">await</span> browser.getCurrentUrl();<br> expect(newUrl).to.contain(<span class="hljs-string">'https://github.com'</span>);</code></pre> </div> </article> <article> <div class="testcase"> <div class="testName"> <i class="sensei-checkmark passed"></i> <h4>Navigation Actions &#x3D;&gt; should be possible to use button to go to a story</h4> <i class="sensei-embed2"></i> </div> <div class="testInfo"> <span>1.982 s</span> </div> </div> <div class="test-code collapsed"> <span class="message">Test spec:</span> <pre><code class="hljs"><span class="hljs-keyword">async</span> <br> <span class="hljs-keyword">const</span> targetId = <span class="hljs-string">'3bf18616-4e88-46df-bbec-9287e5f52f83'</span>; <span class="hljs-comment">// =test-story</span><br> <span class="hljs-keyword">await</span> appOverview.openSheet(<span class="hljs-string">'test:navigation-actions'</span>);<br> <span class="hljs-keyword">const</span> btn = <span class="hljs-keyword">new</span> Button();<br> <span class="hljs-keyword">await</span> btn.get(<span class="hljs-string">'GotoStory'</span>);<br> <span class="hljs-keyword">await</span> btn.click();<br> <span class="hljs-keyword">await</span> browser.wait(EC.urlContains(targetId), timeoutTime);</code></pre> </div> </article> </section> <div class="image-viewer-container"> <div class="image-viewer"> <div class="close"></div> <div class="content"> <div class="regression"> <h4></h4> <img></img> </div> <div class="baseline"> <h4></h4> <img></img> </div> <div class="diff"> <h4></h4> <img></img> </div> </div> </div> </div> </body> </html>