【发布时间】:2016-09-01 10:14:36
【问题描述】:
在量角器中运行多个测试时遇到问题:60010 秒后等待异步脚本结果超时 登录脚本后执行的教程脚本代码:
这是我在A Code proposed in another question 的配置文件中使用的代码,但它没有解决我的问题!
onPrepare: function() {
return browser.getProcessedConfig().then(function(config) {
var browserName = config.capabilities.browserName;
browser.manage().timeouts().setScriptTimeout(60000);
});
PS:即使我为元素放置了不正确的位置,我也会出现超时错误,而不是找不到该元素!就好像那行代码“点击进入教程按钮”从未执行过
- 是因为教程进行了ajax调用吗?
</div></md-card-content> </md-card><!-- end ngIf: !expandChart --> </div> </div> </div></md-content> </div></div> <!-- Google Analytics: change UA-XXXXX-X to be your site's ID --> <!--<script>--> <!--!function(A,n,g,u,l,a,r){A.GoogleAnalyticsObject=l,A[l]=A[l]||function(){--> <!--(A[l].q=A[l].q||[]).push(arguments)},A[l].l=+new Date,a=n.createElement(g),--> <!--r=n.getElementsByTagName(g)[0],a.src=u,r.parentNode.insertBefore(a,r)--> <!--}(window,document,'script','https://www.google-analytics.com/analytics.js','ga');--> <!--ga('create', 'UA-XXXXX-X');--> <!--ga('send', 'pageview');--> <!--</script>--> <script src="scripts/vendor.js"></script> <script src="cordova.js"></script> <script src="scripts/scripts.js"></script> <script src="https://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha1.js"></script> <script src="https://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha256.js"></script> <script src="https://crypto-js.googlecode.com/svn/tags/3.1.2/build/components/enc-base64-min.js"></script> <div class="introjs-overlay" style="top: 0;bottom: 0; left: 0;right: 0;position: fixed;opacity: 0.8;"></div><div class="introjs-helperLayer " style="width: 538px; height:366px; top:64px;left: 195px;"></div><div class="introjs-tooltipReferenceLayer" style="width: 538px; height:366px; top:64px;left: 195px;"><div class="introjs-tooltip" style="left: 546px;"><div class="introjs-tooltiptext">Watchlist view. Swipe the row in the grid to the left to show the delete action.</div><div class="introjs-bullets"><ul><li><a class="active" href="javascript:void(0);" data-stepnumber="1"> </a></li><li><a href="javascript:void(0);" data-stepnumber="2"> </a></li><li><a href="javascript:void(0);" data-stepnumber="3"> </a></li><li><a href="javascript:void(0);" data-stepnumber="4"> </a></li><li><a href="javascript:void(0);" data-stepnumber="5"> </a></li><li><a href="javascript:void(0);" data-stepnumber="6"> </a></li><li><a href="javascript:void(0);" data-stepnumber="7"> </a></li><li><a href="javascript:void(0);" data-stepnumber="8"> </a></li></ul></div><div class="introjs-progress" style="display: none;"><div class="introjs-progressbar" style="width:12.5%;"></div></div><div class="introjs-arrow left" style="display: inherit;"></div><div class="introjs-tooltipbuttons"><a class="introjs-button introjs-skipbutton" href="javascript:void(0);">Don't show it again!</a><a href="javascript:void(0);" class="introjs-button introjs-prevbutton introjs-disabled" tabindex="-1">Previous</a><a href="javascript:void(0);" class="introjs-button introjs-nextbutton">Next</a></div></div></div></body></html>
【问题讨论】:
-
是的,这是一个有角度的网站
-
如果是这种情况,理想的解决方案是询问他们是否可以将该服务切换为使用 Interval.js(Angular 的一部分)。否则,您必须打开 browser.ignoreSynchronization 并将您的应用视为无角度的
-
@Emma 嗨,我在您的评论中发现了这个问题。所以我会尽力提供帮助。 --- 首先将
element(by.buttonText('Next'))更改为$('.introjs-nextbutton')--- 第二个EC.stalenessOf...看起来您正在等待按钮未附加到DOM 然后单击它...这对我来说没有任何意义.尝试删除EC.stalenessOf,然后简单地执行tutorial.click()。试试这些建议并告诉我它是否有效;) -
@LinhPham,嗨,好的,谢谢,我会试着告诉你;)
-
@Emma,你能在调整后以某种方式分享该描述块的完整代码吗?
标签: ajax jasmine protractor appium end-to-end