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

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

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

下面是一个示例规范:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
homepage.welcomeText.isPresent().then(() => console.log('foo bar'));
EN

回答 2

Stack Overflow用户

回答已采纳

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

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

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

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 10:46:03

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

复制
相关文章
使用Angular CLI进行Build (构建) 和 Serve
Build. Build主要会做以下动作: 编译项目文件并输出到某个目录 Build targets决定了输出的结果 bundling 打包 生产环境的build还会进行uglify和tree-shaking(把没用的代码去掉) ng build. 可以先看帮助: ng build --help 针对开发环境, 就是用命令 ng build. 默认情况下, 它的输出目录在.angular-cli.json文件里ourDir属性配置的, 默认是/dist目录. build之后会看见dist里面有这些文件: i
solenovex
2018/03/29
2.3K0
使用Angular CLI进行Build (构建) 和 Serve
用Angule Cli创建Angular项目
okaychen
2018/01/05
1.5K0
用Angule Cli创建Angular项目
Angular CLI 简介
如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文.
solenovex
2018/03/22
6.1K5
Angular CLI 简介
Angular CLI命令
端口被占用错误,请使用 ng serve --port 4211 //4211为替换默认4200的端口 出现以下消息表示运行成功:
喝茶去
2019/04/16
9320
Angular CLI命令
使用Angular CLI从蓝本生成代码
ng generate <蓝本名> 命令. 该命令的格式是 ng generate <蓝本名> <参数>. 也可以使用--dry-run参数来列出要生成的文件, 而不是真的生成. 例如: ng generate component person, 就会生成一个person.component.ts. ng generate service sales-data 就会生成一个sales-data.service.ts. ng generate class user-model 就会生成一个user-mode
solenovex
2018/03/29
1K0
使用Angular CLI从蓝本生成代码
Angular10配置webpack打包 「详细教程」
对于 Angular 项目,推荐使用 angular-cli 创建打包项目 Angular 会默认帮我们配置。 但是有特殊的需求时就显然不是很灵活,比如想分割一些较大的打包文件、分析每个打包文件组成,自定义webpack一些参数的时候就发现无从下手。 对许多项目的常见依赖项是日期库moment.js 。 这包括使用语言环境的功能,但是,它大大增加了整体捆绑软件的大小。这些都是需要我们优化的地方。
睡魔的谎言
2021/01/21
5.1K0
angular入门教程_初学者织围巾简单教程慢动作
本课程是一个系列基础教程,目标是带领读者上手实战,课程以新版本 Angular 的 3 个核心概念作为主线:组件、路由、模块,加上业务开发过程中必须用到的特性:工具、指令、表单、RxJS、i18n、测试,一共分为 9 部分,34 篇文章。
全栈程序员站长
2022/11/01
3.3K0
angular入门教程_初学者织围巾简单教程慢动作
Angular学习(02)--Angular-CLI命令
官方的教程,其实已经很详细且易懂,这里再次梳理的目的在于复习和巩固相关知识点,刚开始接触学习 Angular 的还是建议以官网为主。
请叫我大苏
2019/03/19
2.6K0
Angular学习(02)--Angular-CLI命令
Angular 11正式发布:加入webpack 5,升级至TS 4.0,不再支持IE 9 和10
Angular 11 现已正式发布。此版本中将不再支持 TypeScript 3.9,开发者需要升级至 TypeScript 4.0;在 Angular 10 中,已经弃用 IE 9、10 和 IE mobile 支持,此次 v11 版本中将完全删除 IE 9、10 和 IE mobile 支持。
深度学习与Python
2020/11/23
3.3K0
Angular 11正式发布:加入webpack 5,升级至TS 4.0,不再支持IE 9 和10
Angular 2 + 折腾记 :(1)初识Angular-cli[官方脚手架]及脱坑要点
这个系列的进度有些跳跃性,我尽量直白点解释,但是我不是官方文档,直入主题!!!!
CRPER
2018/08/28
1.8K0
Angular 2 + 折腾记 :(1)初识Angular-cli[官方脚手架]及脱坑要点
Angular开发实践(六):服务端渲染
Angular Universal Angular在服务端渲染方面提供一套前后端同构解决方案,它就是 Angular Universal(统一平台),一项在服务端运行 Angular 应用的技术。 标准的 Angular 应用会执行在浏览器中,它会在 DOM 中渲染页面,以响应用户的操作。 而 Angular Universal 会在服务端通过一个被称为服务端渲染(server-side rendering - SSR)的过程生成静态的应用页面。 它可以生成这些页面,并在浏览器请求时直接用它们给出响应。 它
laixiangran
2018/04/11
4.8K0
Angular开发实践(六):服务端渲染
node、npm 、package.json、Angular Cli、webpack之间的关系(Windows环境下)
Angular Cli 依赖webpack,简化创建项目流程; npm属于node一部分,npm 从package.json找对应的scripts执行命令,scripts对应的命令也会使用Angular Cli命令,比如ng,从IDE点击ng命令,跳转到项目路径/node_modules/.bin/ng:
城市中的游牧民族
2022/08/28
4620
angular4实战(1) angular-cli
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/78077403
j_bleach
2019/07/02
6720
angular4实战(1) angular-cli
webpack从0到1构建
webpack是一个静态打包工具,根据入口文件构建一个依赖图,根据需要的模块组合成一个bundle.js或者多个bundle.js,用它来展示静态资源
Maic
2022/07/28
1.3K0
webpack从0到1构建
走近webpack(0)--正文之前的故事
  在前端工作的过程中,只要你接触过vue,angular,react,gulp就一定知道webpack或者听说过或者使用过webpack,但是或许你对webpack的使用方法并不是十分了解,只是会用写好的构建项目如:vue-cli,angular-cli等,那么这一系列的文章就是带你一点点走近webpack,真正弄懂webpack到底可以做什么,怎么做。   在真正的正文开始之前,我们先做一个小demo,就像所有的故事背景那样,这篇文章也作为该系列的故事背景。废话不多说,咱们开始吧。 一、安装(环境)
zaking
2018/05/02
7060
走近webpack(0)--正文之前的故事
Angular-cli 搭建项目
一、首先需要安装node和npm   查看你的node以及npm版本: node -v 查看node版本 npm -v 查看npm版本   要求所有版本都是最新的,不然可能会出错。   设置淘宝镜像,这样下载东西就是从国内网站下载了,网速更快 npm configset registry https://registry.npm.taobao.org 二、安装typescript和typings npm install -g typescript typings 三、安装angular-cli npm
半指温柔乐
2020/04/21
7690
使用Angular CLI生成路由
为应用生成路由. 先创建一个项目: ng new my-routing --routing 可以看到生成了两个module. 看一下routing module: 再看一下app module: 已经
solenovex
2018/03/29
2K0
使用Angular CLI生成路由
点击加载更多

相似问题

运行“傀儡代理--noop”时缺少资源

13

在pyspark中运行脚本时缺少应用程序资源

12

Grails 2.0:运行多个实例时缺少资源

21

使用Marathon运行spark-submit应用程序

13

缺少资源时发生强制编译错误

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文