Console.log 在浏览器启动前执行 URL
Console.log is executing before browser launches URL
团队,
我将一个元素声明为一个变量,如 txtSearch : element(by.xpath('//input[@type="search"]')), 在某些时候我想将语句记录为
var clickOn = function(webElement){
webElement.click();
console.log("Successfully clicked on the " + webElement);
};
我从 Spec 文件中调用此函数,例如 clickOn (txtSearch)
这个 console.log 在语句执行之前记录控制台,即首先所有 console.log 语句甚至在 URL 启动之前就先执行了。
请在下面找到所需的详细信息:
节点版本:3.10.3
量角器版本:4.0.3
提前致谢。
欢迎来到异步世界!
因为一切都是异步的,要制定你想要的执行顺序,试试这个:
var clickOn = function(webElement){
return webElement.click().then(()=> {
console.log("Successfully clicked on the " + webElement);
});
};
这只会在浏览器端实际完成点击时安排控制台日志。
但我强烈建议阅读 webdriverjs 中的承诺和控制流:
http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/promise.html
团队,
我将一个元素声明为一个变量,如 txtSearch : element(by.xpath('//input[@type="search"]')), 在某些时候我想将语句记录为
var clickOn = function(webElement){
webElement.click();
console.log("Successfully clicked on the " + webElement);
};
我从 Spec 文件中调用此函数,例如 clickOn (txtSearch)
这个 console.log 在语句执行之前记录控制台,即首先所有 console.log 语句甚至在 URL 启动之前就先执行了。
请在下面找到所需的详细信息:
节点版本:3.10.3 量角器版本:4.0.3
提前致谢。
欢迎来到异步世界!
因为一切都是异步的,要制定你想要的执行顺序,试试这个:
var clickOn = function(webElement){
return webElement.click().then(()=> {
console.log("Successfully clicked on the " + webElement);
});
};
这只会在浏览器端实际完成点击时安排控制台日志。
但我强烈建议阅读 webdriverjs 中的承诺和控制流: http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/promise.html