- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 Puppeteer自动化测试实践四.覆盖率的生成
覆盖率是衡量自动化效果的一个重要指标。而在我们实现自动化测试覆盖率的时候遇到了一些问题,接下来简单讲一下怎么解决的。 一.覆盖率数据的收集 await page.coverage.startJSCoverage() let jsCoverage = await page.coverage.stopJSCoverage() puppeteer的覆盖率数据收集两个方法,一个是在页面open时...
2019-07-01 17:23:06
2262
原创 Puppeteer自动化测试实践三.工作流
一.本地环境开发用例调试用例 用例编写本身也是需要调试和开发的。(公司很多测试平台在线编写测试用例搞不懂怎么调试和运行)。所以在我们项目中我们支持了本地编写调试用例。 实现代理的方式如下:(全局setup.js) const redux = path.resolve(__dirname, './extension/redux'); const args = [ '--all...
2019-07-01 17:21:40
928
原创 Puppeteer自动化测试实践二.测试用例的编写
上一篇讲解了运行环境的搭建和开始写测试用例。接下来讲一下测试用例编写的常用技巧 一. 封装封装封装 你可以将所有的功能操作封装成简单的函数,然后在每个测试用例中调用,复杂操作也可以由简单操作合并而成。这里的好处是显而易见的,一是你的用例很清晰,每一步操作对应一个函数。二是在以后的项目迭代中,会大大简化你的用例维护成本,你只用改对应的操作函数,比如selector,比如操作流程修改等等。 二....
2019-07-01 17:20:37
1314
原创 Puppeteer自动化测试实践一.测试环境搭建
在今年初,我们项目启动了自动化测试来保证项目质量和测试质量。在经过一系列评估后最终选择了Puppeteer+Jest的测试框架来跑我们的自动化测试。接下来讲一下我们如何搭建一个本地和ci环境的自动化测试框架。 一.安装,下载Chromium。 1.公司的网络是无法使用tnpm install puppeteer的,会提示下载chromium失败,所以可以先使用如下命令下载Puppeteer。 ...
2019-07-01 17:18:51
2431
1
原创 代码之外应该注意的东西
1. 注释,注释不用说,其实每个程序员都知道好的注释就像是一篇美文。看完注释就能知道这个类或者本段代码的逻辑流程,也可以对照注释去看代码,好的注释可以帮助排错,也可以帮助阅读,更能整理自己的思维。可是我们在实际开发中却常常忘记这些。 2. 日志,代码里面的日志可是一门艺术。很明显,日志太多会阻塞程序运行效率。日志太少,根本看不出来程序调用时序和调用结果,日志用的好,能直
2013-09-16 00:24:40
534
原创 StringBuffer和StringBuilder区别
StringBuffer线程安全的,接口都已加锁。StringBuilder线程不安全。 所以在单线程中尽量使用StringBuilder,效率更好。
2013-06-11 23:26:18
414
原创 thread研究之threadlocal
如果说static是虚拟机级别的对象,那threadlocal就是线程级别的对象,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。在android的loop中就使用了这一数据存储工具。因为threadlocal能很好的解决一个线程有一个独立的消息队列。 1.我感觉实现
2013-06-11 22:58:07
692
原创 jdk 线程之ThreadGroup
threadgroup顾名思义就是线程组,在api文档中写到:线程组表示一个线程的集合。此外,线程组也可以包含其他线程组。线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组。 允许线程访问有关自己的线程组的信息,但是不允许它访问有关其线程组的父线程组或其他任何线程组的信息。 1.首先,每个线程都有一个所属的线程组,在我们创建一个thread的时候虽然我们没有指定这个线程所
2013-06-11 22:20:15
727
原创 简单地快速存储和读取的数据结构
在项目开发中,需要一个数据容器,需要快速存储数据,和随机读取。所以设计了一种linklist和hashmap的数据结构,linklist是副表,存储索引,hashmap是主表,存储数据。这是典型的以空间换时间做法。 /* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Ap
2013-01-06 09:56:21
851
原创 Android ArrayList LinkedList Set HashMap的介绍
在Android开发中我们经常需要对数据进行分类和操作,对于轻量级的数据存储我们可能不需要动用SQLite或效率以及类库不完善的XML,由于 SharedPreferences不具备数据枚举方法,如果仅仅是一个String或Int数组可以通过一个标记分割设计外,我们还是主要来看看 Android或者说Java提供的基础数据类型辅助类ArrayList LinkedList Set HashMap的...
2012-01-03 21:35:40
132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人