- 自动化测试 —— Pytest fixture及conftest详解
咖啡加剁椒③
软件测试pytest功能测试软件测试自动化测试程序人生职场和发展
前言fixture是在测试函数运行前后,由pytest执行的外壳函数。fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中的数据集、配置测试前系统的初始状态、为批量测试提供数据源等等。fixture是pytest的精髓所在,类似unittest中setup/teardown,但是比它们要强大、灵活很多,它的优势是可以跨文件共享。一、Pytestfixture1.pytestfix
- Pytest 自定义HOOK函数
咖啡加剁椒④
软件测试pytestpython开发语言软件测试功能测试自动化测试程序人生
除了系统提过的HOOK函数外,也可以通过自定义HOOK的方式实现想要的功能。首先创建一个py文件,里面定义自己的HOOK函数,主要pytest里面的hook函数必须以pytest开头。#myhook.pydefpytest_myhook(user):"""自定义HOOK函数"""defpytest_myhook2():"""自定义HOOK函数"""其次创建自己的插件类,user类的重写__init
- Python Pytest装饰器@pytest.mark.parametrize详解
Lucky小黄人
转自:PythonPytest装饰器@pytest.mark.parametrize详解Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT如:@pytest.mark.parametrize('请求方式,接口地址,传参,预期结果',[('get','www.baidu.com','{"page":1}','{"code":
- FastAPI 之自动化测试数据库接口
somenzz
数据库单元测试pythonjavamysql
今天的文章分享如下在FastAPI框架下,使用pytest来自动化测试数据库相关的接口,文章的最后给出全部代码。最近越来越喜欢使用FastAPI来写后端服务了,因为它是Python领域性能最好的Web框架,它专注于提供高性能的WebAPI,其他方面并不限制你的手脚,可以随意使用你喜欢的三方库,这点类似于Flask,可以量身定制你的后端架构,以满足自己的需求。需要说明的是,后端服务基本是离不开关系型
- pytest教程之多重校验pytest-assume插件使用
Debug陈缘圈
PythonPytest
pytest中可以用python的assert断言,也可以写多个断言,但一个失败,后面的断言将不再执行。使用插件pytest-assume可以解决这个问题。1.安装#安装pip3installpytest-assume2.测试用例demoimportpytestclassTestAssertAssume:#第3个断言失败后下面的代码仍会被执行deftest_assume(self):pytest.
- pytest常用钩子函数
只看不学
pytestpytest
在Pytest中,我们可以使用钩子函数(hookfunction)来在测试执行完成后执行一些特定的操作,例如生成报告、发送邮件等。下面列出一些Pytest中常用的钩子函数:pytest_addoption(parser):当pytest命令行解析器被创建时,pytest将调用这个函数,它将接受一个parser参数,可以通过它向解析器中添加自定义的命令行选项。pytest_configure(con
- pytest.param作为pytest.mark.parametrize的参数进行调用
阿祖_in_coding
pytest
pytest.param:在pytest.mark.parametrize中可以作为一个指定的参数进行调用获取数据库(网页端)数据,通过pytest.param包装成数据包用于pytest.mark.parametrize中实现数据驱动调用。importosimportpytestimportjsonfromjsonimportdecoder#fromcommon.basic_module.Exc
- POM设计模式思路,详解POM:概述与介绍,POM思路梳理+代码示例(全)
梦断南楼
UI自动化测试技术研究设计模式pythonPOM笔记功能测试
概述在UI自动化测试中,POM模式是一种设计思路,它的核心思想是方法的封装。它将方法类和页面元素进行分离,增强了代码的可维护性。值得注意的是,这种分层的设计模式,最好也是从线性代码开始,逐步将代码进行升级,最后形成以POM设计思路为核心的自动化测试框架。思路梳理版本升级思路V1(不使用任何设计模式和单元测试框架)V2(使用PyTest管理用例)V3(使用方法封装的思想,对代码进行优化。)V4(引入
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
测试大大怪
pytestgitjenkins测试工具功能测试
一、接口基础接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,RPC,Webservice,Dubbo,RESTful等类型。接口测试流程1、需求评审,熟悉业务和需求2、开发提供接口文档3、编写接口测试用例4、用例评审5、提测后开始测试6、提交测试报告两种常见的HTTP请求方法:GET和POST二、项目说明本框架是一
- Appium+Pytest+Allure实现APP自动化测试,小试牛刀
测试小鬼
软件测试接口自动化测试自动化测试大数据pytestpython经验分享软件测试
Hi,大家好。Appium结合Pytest开展App自动化测试时,你知道如何自动运行用例并发执行吗?费话不多说,直接上代码,毕竟想让每个人都能看明白也不容易,所以附上代码,有兴趣的自行研究,如需获取框架源码可以在ITester软件测试公众号后台回复“APP框架”。一、项目介绍1、项目环境项目环境如下:Pythonpytestallureappiumnode夜神模拟器2、项目环境项目结构截图如下所示
- Python自动化测试:unittest与pytest框架
api77
电商apiapipythonpytest开发语言数据库前端大数据
在Python中,unittest和pytest都是常用的自动化测试框架。它们提供了编写测试用例、测试套件和执行测试的强大功能。1.unittest框架unittest是Python标准库的一部分,因此无需额外安装。它提供了丰富的断言方法,用于验证测试结果。示例代码:python复制代码importunittestclassTestStringMethods(unittest.TestCase):
- python + requests + pytest 接口自动化测试
小卡也很萌
pythonpytest开发语言
测试框架目录目录名称目录内容common1.读取测试用例的方法2.连接数据库的方法(pymysql)3.封装自己的请求4.封装输出日志文件5.读取保存的数据文件封装一些公共方法api存储测试接口case封装测试用例data存放测试数据data.xlsx接口需要用到的字段写进Excellogs存放日志文件report存放测试报告使用
- 引入成熟的Pytest自动化测试框架
咖啡加剁 椒
软件测试pytest软件测试功能测试自动化测试程序人生职场和发展
虽然我们能使用脚本编写自动化测试框架,但没有必要重复找车轮子,引入成熟的自动化测试框架即可,Pytest是目前最成熟、功能最全面的Python测试框架之一,简单灵活、易于上手,可完全兼容其他测试框架如unitest,支持参数化和测试编排功能,扩展性强。1、安装Pytest命令行cmd执行命令:pipinstallpytest2、使用Pytest编写脚本必须准守一下规则,否则无法正常运行脚本①测试文
- Pytest fixture使用
Jenny测试开发
pytestpython职场和发展
fixture脚手架(夹具)其实就是自定义前面的前置和后置操作:当然,我可以给你一个使用pytest的Python测试框架中的fixture的实例。假设我们有一个简单的类Calculator,它有基本的加法和减法方法,我们想为这些方法编写测试。首先是我们的Calculator类,通常这将保存在你的项目中的一个文件里,比如calculator.py:classCalculator:defadd(se
- 自动化测试面试(一)
Jenny测试开发
面试职场和发展
1.列表、元组、字典的区别列表是可变的有序集合,元组是不可变的有序集合,而字典是无序的键值对集合,其键是唯一的.2.什么是装饰器?装饰器是为已经存在的函数或者对象添加额外的功能数据参数化(Parameterization):使用装饰器来提供不同的测试数据,对同一接口进行多次测试。@pytest.mark.parametrize("test_input,expected",[("data1","re
- Pytest使用fixture实现token共享
咖啡加剁 椒
软件测试pytest软件测试功能测试自动化测试程序人生职场和发展
同学们在做pytest接口自动化时,会遇到一个场景就是不同的测试用例需要有一个登录的前置步骤,登录完成后会获取到token,用于之后的代码中。首先我先演示一个常规的做法。1.首先在conftest定义一个login的方法,方法返回
[email protected](scope="function")deflogin():header={"Content-Type":"application/
- Python测试框架pytest(04)fixture - 测试用例调用fixture、fixture传递测试数据
wangmcn
测试框架pytest测试开发python测试用例单元测试测试工具
目录1、测试用例调用fixture2、fixture传递测试数据setup、teardown可以实现在执行用例前或结束后加入一些操作,但这种都是针对整个脚本全局的。假设有以下场景:用例A需要先登录,用例B不需要登录,用例C需要先登录;很显然无法用setup和teardown来实现。fixture的作用是可以让我们自定义测试用例的前置条件。fixture的优势:命名方式灵活,不局限于setup和te
- Pytest单元测试框架之fixture装饰器实现前后置
我亲手种的.
单元测试pythonselenium自动化
系列文章目录第一章Pytest单元测试框架基础第二章Pytest单元测试框架之fixture装饰器实现前后置目录系列文章目录前言一、Pytest的setup和teardown前后置实战二、fixture装饰器三、conftest.py文件前言前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景:用例1需要先登录,用
- 自动化测试框架Pytest介绍(5)——前置和后置之fixture
六天测试工程师
pytest框架介绍pytest
目录1、fixture参数说明1.1参数详细说明1.2利用yield实现后置1.3params和ids参数的代码实例2、fixture在用例中的调用3、不同scope的代码实例在第4篇中,我们讲了前置和后置的各种setup和teardown,但是在实际应用中,有可能有的用例需要用到用例的前置,而有的用例又不需要,这样用setup和teardown实现起来就比较麻烦了。pytest提供了fixtur
- Python测试框架之pytest高级用法之fixture(三)
程序员阿沐
程序员软件测试编程测试框架自动化测试软件测试Pytestfixture
前置条件:1.文件路径:Test_App--test_abc.py--pytest.ini2.pyetst.ini配置文件内容:[pytest]命令行参数addopts=-s搜索文件名python_files=test*.py搜索的类名python_classes=Test*搜索的函数名python_functions=test_*pytest之fixturefixture修饰器来标记固定的工厂函
- 接口自动化测试-Pytest核心固件Fixture详解以及应用实战
十一点的氟西汀
接口自动化测试软件测试自动化测试数据库java测试用例python功能测试
目录前言:一、Fixture概述二、Fixture分类在Pytest中,Fixture可以分为4类:三、Fixture使用下面结合实例说明如何使用Fixture。3.1session级别的Fixture3.2module级别的Fixture3.3function级别的Fixture
- Pytest自动化测试框架-权威教程13-Fixture方法及测试用例的参数化
测试-八戒
pytest测试用例pytestpython
Fixture方法及测试用例的参数化Pytest在多个级别启用测试参数化:pytest.fixture()允许一个[参数化Fixture方法。@pytest.mark.parametrize允许在测试函数或类中定义多组参数和Fixture。pytest_generate_tests允许用户定义自定义参数化方案或扩展。@pytest.mark.parametrize:参数化测试函数2.2版中的新函数
- 十、Pytest自动化测试框架 — Fixture装饰器的使用
测试-八戒
pytest测试用例Fixture装饰器pytest自动化测试框架pytest测试
###文章内容有配套的学习视频和笔记都放在了文章末尾###1、Fixture装饰器的用途做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用Fixture来实现。测试用例的前置条件可以使用Fixture实现,比直接使用Pytest框架的setup()和teardown()函数更加灵活。Fixture是Pytest用于将测试前后进行预备,清理工作的代码分离出核心测试逻辑
- pytest框架之fixture测试夹具详解
测试架构师百里
python测试用例开发语言
前言大家晚上好呀,今天呢来和大家唠唠pytest中的fixtures夹具的详解,废话就不多说了咱们直接进入主题哈。一、fixture的优势pytest框架的fixture测试夹具就相当于unittest框架的setup、teardown,但相对之下它的功能更加强大和灵活。命名方式灵活,不限于unittest的setup、teardown可以实现数据共享,多个模块跨文件共享前置后置可以实现多个模块跨
- Pytest测试技巧之Fixture:模块化管理测试数据
Summer Stone
自动化测试pytest
在Pytest测试中,有效管理测试数据是提高测试质量和可维护性的关键。本文将深入探讨Pytest中的Fixture,特别是如何利用Fixture实现测试数据的模块化管理,以提高测试用例的清晰度和可复用性。什么是Fixture?在Pytest中,Fixture是一种用于为测试用例提供设置和资源的机制。通过Fixture,我们可以在测试用例运行之前或之后执行一些操作,例如准备测试数据、建立测试环境等。
- 测试报告和结果分析 —— allure整合pytest生成测试报告
测试界媛姐
自动化测试技术分享软件测试pytest
一、生成HTML测试报告的三种方式:1、unittest和HTMLTestRunner整合2、allure和pytest整合3、Jenkins中安装allure插件(Jenkins安装插件出错,不能正常使用)二、allure整合pytest生成html测试报告:1.下载allureallure配置到PATH的环境变量(bin目录)2.安装allure-pytest3.从cmd中进入放代码的目录(t
- Django后端开发——模板层-变量和标签
^_^2412
Django后端开发django数据库python
文章目录参考资料一、模板的变量views.pytest_html_param.html(在templates文件夹下新建)urls.py效果二、模板层的标签模板标签的作用标签语法if标签语法注意示例views.pytest_if_for.htmlurls.py效果练习test_mycal代码遇到的问题for标签语法内置变量forloop示例views.pytest_if_for.html效果参考资
- pytest 框架自动化测试
芝麻馅汤圆儿
pytest
随笔记录目录1.安装2.安装pytest相关插件2.1准备阶段2.2安装2.3验证安装成功3.pytest测试用例的运行方式3.1主函数模式3.1.1主函数执行指定文件3.1.2主函数执行指定模块3.1.3主函数执行某个文件中的某个类、方法、函数3.1.4主函数执行生成allure报告3.2命令行模式1.安装1.installpycharm2.installpython3.configEnvrio
- 接口自动化测试框架开发(pytest+allure+aiohttp+ 用例自动生成)
.咖啡加剁椒.
软件测试pytest软件测试自动化测试功能测试程序人生职场和发展
近期准备优先做接口测试的覆盖,为此需要开发一个测试框架,经过思考,这次依然想做点儿不一样的东西。接口测试是比较讲究效率的,测试人员会希望很快能得到结果反馈,然而接口的数量一般都很多,而且会越来越多,所以提高执行效率很有必要接口测试的用例其实也可以用来兼做简单的压力测试,而压力测试需要并发接口测试的用例有很多重复的东西,测试人员应该只需要关注接口测试的设计,这些重复劳动最好自动化来做pytest和a
- HttpRunner3.X学习笔记(2)-用例结构解析
立品
一、官方推荐的pytest格式httprunner可以支持三种格式的用例,分别是pytest、yaml和json。yaml和json是以前的版本所使用的用例格式,但是在3.x版本上,官方强烈建议使用的是pytest格式的用例。image.png官方的用例格式关系图,可以看出来,httprunner在对于第三方导出的har文件进行了转换处理,有的人喜欢转换成json,有的人喜欢转换成yaml。但是最
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s