Javascript 如何打破while循环和if语句?
当if语句中的值大于0时,我需要中断while循环和if语句,然后代码应该从while循环中断 我怎样才能做到这一点 我的代码如下:Javascript 如何打破while循环和if语句?,javascript,if-statement,webdriver-io,Javascript,If Statement,Webdriver Io,当if语句中的值大于0时,我需要中断while循环和if语句,然后代码应该从while循环中断 我怎样才能做到这一点 我的代码如下: it('x Accordion description should appear after 5 seconds upon being clicked', function(done) { //this.timeout(15000); //setTimeout(done, 6000); var i = 0; whi
it('x Accordion description should appear after 5 seconds upon being clicked', function(done) {
//this.timeout(15000);
//setTimeout(done, 6000);
var i = 0;
while (i < 15000) {
browser.click('#accordion');
//var timeoutText = browser.getText('#timeout').length;
var timeoutText = browser.getText('#timeout').length;
console.log(timeoutText);
if (timeoutText > 0) {
browser.pause(5000);
console.log("Pass");
break;
i++;
}
}
it('x手风琴描述应在单击后5秒后出现’,功能(完成){
//这是超时(15000);
//设置超时(完成,6000);
var i=0;
而(i<15000){
浏览器。单击(“#手风琴”);
//var timeoutText=browser.getText('#timeout').length;
var timeoutText=browser.getText('#timeout').length;
console.log(timeoutText);
如果(超时文本>0){
浏览器暂停(5000);
控制台日志(“通过”);
打破
i++;
}
}
谢谢您的帮助。使用
标签来突破
outer: while (i < 15000) {
browser.click('#accordion');
//var timeoutText = browser.getText('#timeout').length;
var timeoutText = browser.getText('#timeout').length;
console.log(timeoutText);
if (timeoutText > 0) {
browser.pause(5000);
console.log("Pass");
break outer;
i++;
}
}
outer:while(i<15000){
浏览器。单击(“#手风琴”);
//var timeoutText=browser.getText('#timeout').length;
var timeoutText=browser.getText('#timeout').length;
console.log(timeoutText);
如果(超时文本>0){
浏览器暂停(5000);
控制台日志(“通过”);
打破外部;
i++;
}
}
将条件添加到while语句是否有效
it('x Accordion description should appear after 5 seconds upon being clicked', function(done) {
//this.timeout(15000);
//setTimeout(done, 6000);
var i = 0;
var timeoutText = 1;
while (i < 15000 && timeoutText <= 0) {
browser.click('#accordion');
timeoutText = browser.getText('#timeout').length;
console.log(timeoutText);
if (timeoutText > 0) {
browser.pause(5000);
console.log("Pass");
i++;
}
}
it('x手风琴描述应在单击后5秒后出现’,功能(完成){
//这是超时(15000);
//设置超时(完成,6000);
var i=0;
var timeoutText=1;
而(i<15000&&timeoutText 0){
浏览器暂停(5000);
控制台日志(“通过”);
i++;
}
}
另外,如果您不需要运行while循环,那么可以更简单地编写它,例如
it('x Accordion description should appear after 5 seconds upon being clicked', function(done) {
//this.timeout(15000);
//setTimeout(done, 6000);
var i = 0;
var timeoutText = browser.getText('#timeout').length;
while (i < 15000 && timeoutText <= 0) {
browser.click('#accordion');
timeoutText = browser.getText('#timeout').length;
console.log(timeoutText);
browser.pause(5000);
console.log("Pass");
i++;
}
it('x手风琴描述应在单击后5秒后出现’,功能(完成){
//这是超时(15000);
//设置超时(完成,6000);
var i=0;
var timeoutText=browser.getText('#timeout').length;
while(i<15000&&timeoutText您的循环是正确的,它应该在while中中断,我唯一能弄明白的是尝试在if条件之外增加i(i++)。感谢您的帮助@Akshay Aggarwal在if语句之外添加i成功。如果有帮助,请向上投票;-)抱歉,我是stackoverflow的新手,如何更新您的上述评论?:)感谢您的帮助,在if语句之外添加I++成功了。
it('x Accordion description should appear after 5 seconds upon being clicked', function() {
// http://webdriver.io/api/utility/waitUntil.html
browser.waitUntil(function () {
// Your condition to wait:
browser.click('#accordion');
return browser.getText('#timeout').length > 0
},
15200, // Waiting timeout 15 secs, but actually only 3 clicks will be done
'expected accordion description should appear after 5 seconds upon being clicked',
5000) // Pooling interval - each 5 secs
}