首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用量角器进行方便的记录

使用量角器进行方便的记录
EN

Stack Overflow用户
提问于 2017-03-11 02:27:24
回答 2查看 2.1K关注 0票数 2

我正在尝试让使用protractor编写selenium测试的开发人员更容易进行日志记录。

我正在研究selenium-webdriver/lib/logging,并试图弄清楚如何制作一个方便的日志系统。

下面是一个示例规范:

代码语言:javascript
运行
复制
it('should NOT show welcome before login', () => {
  // convenient log here
  expect(homepage.logo.isPresent()).toBe(true);
  // log message that would occur after expect 
  expect(homepage.welcomeText.isPresent()).toBe(false);
  // final log message
});

我不太确定该怎么做。

我正在尝试避免对每条日志消息执行(如下)操作。

代码语言:javascript
运行
复制
homepage.welcomeText.isPresent().then(() => console.log('foo bar'));
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-11 11:16:30

有一个npm包- log4js-protractor-appender,它将解决您的problem.It是专门为基于量角器的环境构建的,它将所有记录器命令放在量角器控制流中,并在记录之前解析量角器承诺。

因为量角器执行控制流中的所有命令,而所有非量角器命令不会按我们喜欢的顺序执行。因此常规日志记录需要我们付出额外努力才能将非量角器命令链接到量角器命令

示例:

代码语言:javascript
运行
复制
browser.getCurrentUrl().then(function _logValue(url){
  logger.info("The url is" + url);
});

但是log4js-protractor-appender支持直接编写类似这样的代码-- browser.logger.info('Displayed text is:', browser.getCurrentUrl());

有关如何实现此功能的更多详细信息,请查看我的博客帖子- How to implements logs for Protractor/JavaScript based Test Automation Frameworks

票数 2
EN

Stack Overflow用户

发布于 2017-03-11 18:46:03

对于expects,您可以使用toBeTruthy或Falsy并在那里包含消息。如果出了什么问题,它会记录下来。页面对象模式告诉你在规范文件中不能有weddriver方法,这意味着你可以创建一个方法来验证某些东西是否存在,然后()记录在那里,就像你的例子一样。你也可以实现asyncLog函数。console.log()方法转到堆栈并在量角器方法之前执行,因为量角器的控制流或托管承诺。它将每个量角器方法包装在不同的promise中,将其放入回调队列中,回调队列仅在stack为空后执行。请看下一段代码。虽然我没有尝试过Protractor,但是你可以理解它的意思。

代码语言:javascript
运行
复制
var promise = Promise.resolve();

function asyncLog(message) {
    Promise.resolve().then(() => console.log(message));
}

console.log('Start');

promise
.then(() => console.log('This is then'))

asyncLog('This is Callback Queue log');

console.log('This is Call Stack log');

promise
.then(() => console.log('This is another then'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42725348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档