Java中使用Selenium (1)

Selenium本作为测试Web使用的框架,如今用在爬虫的项目上简直无人能敌。它可以使用浏览器像一个真人一样的进行浏览网页。 由于在爬虫和测试领域用的十分多,所以在Python上用Selenium也是十分方便的。 配置环境 首先需要下载浏览器的驱动,各种语言通过Selenium框架直接调用驱动对浏览器进行操作。 https://www.seleniumhq.org/download/ 市面上的所有浏览器官方都为其浏览器编写了WebDriver选择自己需要的版本,WebDriver的版本是否与已安装的浏览器版本对应。 (Python中有一个PhantomJS无界面的Webkit浏览器,虽然不需要驱动用起来很方便,但是自从chrome的headless模式之后它就停止更新了。并且在我使用的情况下出现了页面解析出错的情况,所以为了减少麻烦还是用WebDriver比较好) ...

三月 28, 2019 · 猫贩子薛定谔

在Maven和Travis中使用Jacoco进行代码覆盖测试

测试是代码生命周期的一个很重要的部分,对于开源软件一份测试报告可以提高使用者对此代码的信任度。 测试覆盖率能体现出测试中所覆盖的代码范围,也能体现测试用例的设计是否合理。 话虽如此,但是自从懂事以来就没有给自己的代码写过测试类。JUnit也是拿来当Jshell用(这么方便的@Test哪里去找) 测试环境 这次配合自己写的一个开源库,所以配置了一套完整的测试步骤。 travis-ci(因为这个项目直接托管在github上所以用travis会比较方便) maven(自动打包和测试) jacoco(导出测试报告) coveralls(第三方测试统计平台) 测试流程就是当代码Push到GitHub之后,travis创建VM开始执行maven对代码进行打包和测试,同时jacoco生成测试报告,完成之后将报告上传至coveralls。 ...

一月 24, 2019 · 猫贩子薛定谔

Lombok-提高Java编写效率

说到Java,其一个明显的特征就是实体类中会有大量的get,set方法。虽然说现在IDE都可以一键生成get,set,construct方法,但是每个类都得花个一分半分的时间。Lombok通过注释的方式帮助我们简化臃肿的Java代码。 (虽然通过Lombok在Java文件中以注释方式代替,但是通过编译器编译后会自动生成方法,因此不会影响代码运行效率) 项目主页:https://projectlombok.org ...

十一月 16, 2017 · 猫贩子薛定谔

递归查询树

由于帮老师做的项目里需要有栏目,所以必定也需要一系列子栏目,因此栏目在数据库中的储存结构就大概为 id title 标题 uri uri parentColumn 父栏目id 因为任何栏目都是和上下栏目关联的,如搜索某栏目的文章,那么子栏目下的文章也是要进行检索的。因此需要关于这一个栏目的完整的树。 主要思路就是查询子节点,若子节点存在再接着查询子节点。 ...

十月 7, 2017 · 猫贩子薛定谔

rngd加速Tomcat启动速度

在vps上部署tomcat后,如果不使用tomcat自带的管理界面,那么每次重新部署网站都得重启tomcat,而由于Tomcat 7/8都使用 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom ,导致每次在生成随机数时要花费几百秒,而平时我的vps也没啥东西运行,所以熵池(entropy pool)的填充速度也是十分慢,最长的一次启动更花了我300多s。(每次在vps重启tomcat都得刷会微博,然后忘了干正事) 04-May-2017 20:58:16.765 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 303427 ms ...

五月 9, 2017 · 猫贩子薛定谔

by.cx短网址服务Beta运营--by jsp

自从by.cx花200多大洋注册之后一直没有拿来长期的做一个站。 不过最近正好想要学jsp,所以正好拿这域名来做一个短网址,顺便也拿来学学jsp。由于是刚开始学,所以是纯jsp,并没有写成servlet。 初学作品,所以有些许BUG请见谅,欢迎发issue  不过最好不要拿by.cx来做长期的跳转服务,在后续的程序更新中可能会误删导致链接的丢失。 ...

九月 30, 2016 · 猫贩子薛定谔

centos配置JSP环境

不知道为什么,我就竟然开始学jsp了(PHP是最好的语言!)…. 所以为了有一个测试环境,所以我就打算在腾讯云上搭一个JSP环境,tomcat+mysql+lnmp。 腾讯云在国内,而且上行只有1M只能拿来作为开发测试环境来用了(ノへ ̄、)。 安装lnmp主要是为了phpmyadmin管理数据库会比较方便。 ...

八月 27, 2016 · 猫贩子薛定谔