在Excel中截图,常用的方法包括在Excel中复制为图片、使用第三方截屏工具、使用键盘PrintScreen按钮等方法。...一、在Excel中直接复制为图片 在Excel中,可以直接建数据复制为图片,具体如下图所以: 在弹出的对话框中选择如屏幕所示或如打印所示,如下图: 其中,选择如屏幕所示...,将得到屏幕中显示的样子,如果选择如打印效果,那么将是打印之后的效果,比如你如果在电脑中设置了背景色(如我图中的护眼豆沙色),如屏幕所示得到的是带背景色的结果,而打印效果则仍然是白色(无颜色)的情况。...(包括windows的菜单等等多余的信息),现在已经很少用了,但是,在一些特殊的情况下还是用得到,比如,你想对截图软件的截图状态进行抓取(也就是你的截图软件不能再用的情况下),那么这就可以用了。...如下图所示: 以上介绍了3中可以在Excel中实现截图的方法,各有优劣,在实际工作中按需要进行选择使用即可。 『后台发送消息“截图”可获取Snagit』
即使你暂时没有阅读源码的打算,我也会带你实现一款简单的 JS 任务调度器,合理的利用任务编排机制会为你的代码带来更加完整的逻辑处理以及更加高效的性能提升。...在调度器中通过 processor 属性传入了对应的处理方法,使用 AsyncQueue 来管理内部的调度顺序。 Webpack parallelism 配置选项。...它需要等待已经在队列中的任务释放出空闲才可以执行接下来的任务。 代码上来说,即是当 item1、item2 加入队列会立即执行,此时 item3 在添加时会进入排队。...'); }); 检查控制台的输出如愿以偿的得到了我们想要的结果。...我希望的是当存在重复的 key 值时,我会用上一个相同 key 的处理结果来调用重复的 callback 即可,完全没有必要重新在进入队列处理一次。
作者 | 青暮 编辑 | 陈彩娴 “我认为现在是一个很好的时期,中国的计算理论已经有了很好的基础,在许多方向上站在了世界前沿。”...理论计算作为计算机科学的基础正蓬勃发展,机器学习理论、区块链技术、计算经济学和量子计算等理论计算中的新兴领域方兴未艾,逐渐走进大众的视野。...本次大会邀请了国内外诸多计算机科学领域的专家学者,旨在交流与讨论理论计算最新的发展, 同时对理论计算领域分支中备受关注的算法博弈论、区块链、多智体强化学习、机器学习理论、机器学习形式化理论和量子计算等问题进行深入的研究与探讨...“计算理论的受众是很小的,在某种意义上,很多重要的研究方向都是小众课题。”邓老师提到,他们在这次会议中了解到,中国在计算理论方面做了很多优秀的工作,因此受到了鼓舞。...邓老师表示,“我们从对方那里找到了不少可以学习和借鉴的地方,我认为,不同的会议之间要有一个相互支持的关系。”
然后我花了一点时间做调研,最后研究出来了一种比较靠谱的方法,让低版本也能顺利享受 Compiler 给项目带来的性能提升。...0、可行性分析 在如下这篇两篇文章中,我曾经详细分析过 React Compiler 的编译原理 苦等三年,React Compiler 终于能用了 我已彻底拿捏 React Compiler,原来它是元素级细粒度更新...他并没有改变代码的执行顺序和执行逻辑,它只做了一件事情,对于没必要重复执行的逻辑进行缓存 用一个非常简单的案例来探索思考这种改变。 有如下代码,我们在函数组件中给一个按钮添加了点击事件的回调。...但是我们看到了,clickHandler 内容是完全一致的,那么此时的重新创建就是一种重复工作 因此,在这种情况之下,我们可以使用缓存的方式将第一次创建好的函数缓存下来,当函数组件重复执行时,再从缓存中取出来即可...3、Compiler 使用体验 我已经使用了很长一段时间的 Compiler,感觉非常的好。无论是在开发方式上,还是在代码逻辑的编译上,他的侵入性都非常非常弱。
所以我们需要借助工具(代码)来强制约束。 在源码共读第12期[2]中,我们学习了尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!...根据锁文件自动匹配相应的包管理器,运行相应的命令。 在源码共读第3期[3]中,我们学习了Vue 3.2 发布了,那尤雨溪是怎么发布 Vue.js 的?...在最新版的 VSCode 中,auto attach 功能,默认支持智能调试,如果发现不支持,可以通过快捷键 ctrl + shift + p 查看是否启用。...于是我们在 only-allow/package.json 文件中,添加如下命令。...我们通过文档和沟通约束,不如用工具(代码)约束。 文章写到这里,让我想起我2018年写的文章参加有赞前端技术开放日所感所想[21] 当时演讲的大佬说过一句话。无比赞同。
场景一 要移除的jar包不在aar包中的classes.jar中 直接把aar包里的Jar打包的时候给去掉,就像下面这这样。...exclude group的方法适用于exclude JAR包中的文件。...中 这个时候,使用exclude方法已经不能生效了。...你可以使用下面的通用方法 解压aar文件到tmpDir目录下 unzip ×××.aar -d tmpDir 找到classes.jar包,用压缩工具打开,删除目标文件 将tmpDir重新打包成一个新的...**补充:**我在Ubuntu下直接使用压缩工具打开aar包,然后删除其中的重复的文件,这个方法也是可行的。
,这里 findAll 可以帮助我们实现,我们可以在 findAll 方法中写筛选条件,例如我们想取 winnerId 的值在大于或等于 30 小于 60 之间的结果进行断言,具体写法如下: @Test...@type、it.price 在 xml中 断言中,可以利用 it....字符串复制到页面左边,然后点击INFER SHCEMA,就会自动转换为schema json文件类型,会将每个地段的返回值类型都设置一个默认类型; 在pattern中也可以写正则进行匹配 2)点击“设置...JsonSchema: https://json-schema.org/understanding-json-schema/ 另外,在我们实际工作中,很多时候并不是直接对响应结果直接断言,我们可能需要获取响应结果中的某些值...,将这些值传递到下一个接口或者和其他接口的响应进行比较断言,这就涉及到了对响应 response 的获取与处理了,后续文章继续探讨。
因为公司项目开始的时间比较早,很多新的开源框架都没用上(新开的项目用到了),开发效率有时候确实比较低,所以打算逐步为手上的老项目引进一些成熟的框架,来提升开发效率(当然也想偷个懒,目前我一个人负责android...首先要摆脱的就是无穷无尽的findViewById了,解决方案有很多,最终选择了著名的Butter Knife,起初在网上搜了一些教材,发现大部分都是老版本的集成方法,目前Butter Knife最新版本为...8.6.0,集成方法好像有了一些改变。...:butterknife-compiler:8.6.0' } 本来到这里同步一下,就可以用了,但是我这里遇到了一个错误,导致编译失败: com.android.build.api.transform.TransformException...对了,用butterknif肯定少不了一个插件android butterknife zelezny,可以自动生成绑定代码,最后附上之前写的一篇关于Butter Knife用法的文章:http://www.jianshu.com
说在最前面:有时候某人的放弃,将会成就你更好的选择!...3、Java 中的容器有哪些?它们的区别和特性? 4、Java 多线程的创建 5、Java 的接口与抽象类的区别 6、Python 中方法的参数是值传递还是引用传递?...讲讲 iOS 的 UI 怎么测? 最后的小总结: 1、接口自动化测试:测试框架,多个有关联的接口的用例编写,用例的组织及存储,接口测试的覆盖率,RESTAssured 的封装等。...2、UI 自动化测试:iOS 和 Android 的区别,Appium 代码的双端复用等。 3、性能测试:工具、性能指标、多线程、并发。 4、算法 :常见的快排、冒泡、堆排、二分查找。...: 26、还问了python 的等等号和is得区别 京东物流 1、冒泡排序 2、实现字符串递归倒叙 3、取出列表中的奇数 4、找出列表中的重复数据并标出位置 5、从0-100中随机拿出来一个数
并且能和用例一一对应起来,然后就开始了探索之路~ 1.3 思路产生 下面的解决方案都是在我现阶段研究 Rest-assured 及 Allure 的基础上实现的,可能研究并不透彻不全面,也许有更好的方法使用...Allure附件 先看一下Allure 添加附件的两种方法: @Attachment:在方法上添加注解@Attachment,方法的返回值就会作为附件上传,可添加展示文本和附件类型 @Attachment...3.1 初始版 3.1.1 方案选择 由于在框架中,我已经进行了封装,每个接口请求后都会返回 response 信息。...==,size_16,color_FFFFFF,t_70#pic_center] 3.2 RestAssured.config().logConfig 3.2.1 方法实现 在研究过程中发现RestAssured...提供了logConfig方法,可以将原本在Console中打印的信息指定格式化输出到文件中,具体用法如下(这里指演示重点实现原理部分,其余封装细节太冗余就不展示了): WriterOutputStream
如果您只是在进行XML验证,那么REST Assured中已经包含了所有内容。...在我的项目中,我将它放在src > main > resources文件夹中。我指定它在类路径中,因为当我构建项目时,它会出现在构建文件中,如下面的截图所示: ?...1、 我们可以在src> main> resources文件夹中看到Schema文件 2、 当项目构建时,我们可以看到Schema文件出现在红色构建文件夹中 现在让我们来看看XML Schema验证的测试代码...然后,我们使用REST Assured方法matchesXsdInClasspath检查返回的xml是否符合我们的schema。...记得在类的顶部静态导入matchesXsdInClasspath,如下所示: import static io.restassured.matcher.RestAssuredMatchers.matchesXsdInClasspath
如果到了超时时间还没有接收到响应,则结束等待同时此次通讯失败,这个过程叫做请求超时。在接口自动化测试过程中,也常常会碰到请求超时的场景。...2 在 3s 之后则抛出异常,测试用例 3 正常执行: 图片 实战练习 编写三条测试用例,在 test_two 测试用例中设置超时时间为 3 秒,超过 3s 还没有得到响应的话则抛出异常,然后正常执行后面的测试用例...Python 版本 Python 可以在调用请求方法时传入 timeout 参数控制超时时间。...的配置信息来处理超时的请求。...import io.restassured.RestAssured; import io.restassured.config.HttpClientConfig; import io.restassured.config.RestAssuredConfig
一、REST Assured API 请求 创建一个 maven 项目 rest-assured-examples,并在 pom.xml 中添加 REST Assured 和 Junit 的依赖,如下代码所示...在 test 包下创建一个 RestAssuredGetRequest 类,用来发送不带参数 GET 请求,代码如下: import io.restassured.RestAssured; import...GET 请求中发送数据,可以使用 query() 方法,在 RestAssuredGetRequest 类中添加 getRequestWithQueryParam 方法,代码如下: @Test public...postId=2 页面显示结果如下: 代码 response.jsonPath().getString("email[3]" 其实就是获取第 4 个 post 中的 email 字段的内容,通过与 Assertions...在 REST Assured 中发送一个 POST 请求,这里使用 post() 方法。
常见问题之Java—— java.util.zip.ZipException: error in opening zip file 背景 日常我们开发时,会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)...o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。...同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。...zip file 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法...org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:140) ... 51 more 原因分析: 造成该问题的原因是因为在解压包时发生了错误
当你发现URLConnection返回的OutputStream通过Reader读出的是乱码(处理过编码),那么这篇文章非常适合你。 事实上,这些网站为了访问速度,将数据进行了压缩。...其实一般的网站是不会如此直接强硬的,在请求的header中若没有Accept-Encoding,就不会返回压缩过的数据。但是部分网站鸟都不鸟……那就需要我们的解压了。...解决方法是: out = new InflaterOutputStream(out, new Inflater(true)); // 忽略Zlib头 没错,在构造函数的nowarp传入true即可忽视...获取Encoding信息 ---- 实际上,header里的Content-Encoding展示的就是这段信息的压缩方式。...URLConnection提供了getContentEncoding方法来获取,该方法会返回字串符形式的编码信息,如无则会返回null。
. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:...看到错误,我检查了一下项目,原来的项目中的GSON是直接将源码拷贝到了项目中,后来引入了一个第三方的视频监控sdk,我看了一下 这个sdk中也包含这个 一个在项目里面 一个在jar包里面,删除哪个都会引起相关联的错误...但最终不会被编译到apk或aar里 provided files('libs/glide-3.7.0.jar') 所以后来我将项目中的gson源码删除掉,改为第一种引用三方库方式,这样做的目的就是可以在...下面再说一下 android studio 引入三方库的几种依赖方式 1.Compile compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。...3.APK 只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错 4.Test compile Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试
依赖配置 本例子使用Maven来做包的依赖管理,在pom.xml文件中我们需要添加Spring boot依赖: org.springframework.boot...后面我又会详细的关于Spring Security的教程。这里先不做深入讨论。...异常处理 基本上我们的程序已经完成了,但是在Controller中,我们定义了一些自定义的异常: public class BookNotFoundException extends RuntimeException...Spring boot应用程序端口使用自定义在application.properties中的端口。...本文章的例子代码可以参考github: bootstrap-sample-app 更多教程请参考 flydean的博客
一些小的点就记在这里吧…… MultiDex打包时zip错误 我遇到的是 Execution failed for task ':excelSior:packageAllDebugClassesForMultiDex...'. > java.util.zip.ZipException: duplicate entry: android/support/v4/util/TimeUtils.class在gradle里,把v4...的依赖换成这样子就好了: dependencies { compile fileTree(include: '*.jar', dir: 'libs') compile 'com.android.support...:multidex:1.0.1@aar'}2016-1-31 Android project结构 ↓_ src ↓_ 各个功能模块的package(业务代码,包括activity) ↓_ utils...(工具类) ↓_ view(自定义可重用view) ↓_ model(各个功能模块的公用基础代码,业务相关,不包括activity,主要是各种manager) ↓_ res ↓_ layout
测试自动化挑战之一修改Selenium WebDriver中的请求请求头。我将分享如何使用Selenium WebDriver修改HTTP请求请求头。...} 在上面的Java类文件中,我们在每个连续的方法中重复发送了BASE_URL和headers。...有大量的代码重复,这降低了代码的可维护性。如果我们在构造函数中初始化RequestSpecification对象并使这些方法非静态(即创建实例方法),则可以避免这种情况。...由于 Java 中的实例方法属于类的 Object 而不是类本身,因此即使在创建类的 Object之后也可以调用该方法。与此同时,我们还将重写实例方法。...BaseURL 是在第一个方法(即authorizedUser)中传递的。
1.Testcontainers介绍: Testcontainers是一个Java库,它支持JUnit测试,提供公共数据库、SeleniumWeb浏览器或任何可以在Docker容器中运行的轻量级、一次性实例...测试容器使以下类型的测试更加容易: 数据访问层集成测试: 使用MySQL,PostgreSQL或Oracle数据库的容器化实例测试您的数据访问层代码,但无需在开发人员的计算机上进行复杂的设置,并且测试将始终从已知的数据库状态开始...在本文中,将演示集成postgresql容器和mockserver容器的测试。...测试示例: 为了在@DataJpaTest中使用TC,您需要确保使用了应用程序定义的(自动配置的)数据源。...; } } ---- 3.总结: Testcontainers轻松的解决了集成测试时测试代码与本地组件耦合,从而出现各种意外失败的问题(比如本地数据库中存在脏数据影响到了集成测试,多个集成测试同时运行时相互干扰导致测试结果意外失败
领取专属 10元无门槛券
手把手带您无忧上云