- 博客(117)
- 资源 (2)
- 收藏
- 关注
原创 关于java web自动化测试工具 selenium
QTP 不会,找了下 还真找到了类似的工具 selenium ,是做web自动化测试用的,省得需要手工操作。 selenium 官网好像被GFW 给河蟹了,老方真是阻碍中国IT 发展的打手。记录下: 大致做法这样,先下载它的 firefox插件,用这个插件去录制你的网页上的操作, 回放通过后 导出java文件。 加工下这个java文件,对 填入的参数 进行参数化。
2013-10-24 21:39:41
4636
原创 获取transition表单的代码SQL
需要查询库,故查询的是部署版本,而非在designer中的未部署版本。 省去了 transition太多,每次都需要在designer内打开transition面板操作的麻烦。 Stateflow的 transition 查询SQL ( 其中 fromstate或 tostate为空的应该是 any节点的 transition) 数据库 是orac
2013-10-14 16:43:18
902
原创 热部署 和 在myecipse 中远程调试
这种 方式 极大地提升了开发调试的效率。现在了解的有3种开发方式。1.全部代码写在designer里面。这个和之前我做的 clearquest 一样,效率最低。2.调用外部的class文件 ,这种稍微好些,但是改动class文件需要重新启动服务。3.采用beanshell 这种脚本语言的动态执行java 代码的原理 调用外部的 java文件,这种效率比第二中还要好些,毕竟不需要重启
2013-10-13 16:38:34
1320
原创 记下另一种获取状态等UUID相关信息的方法
import java.util.*;import com.hansky.intf.stateflow.*;import com.hansky.intf.sat.*;import com.hansky.intf.butterfly.*;import com.hansky.sln.spdbank.extraclass.Common;import com.hansky.apps.butter
2013-05-21 11:14:44
716
原创 关于域脚本影响性能的情况
举个例子,比如页面上有5个single reference字段,而且是只读的,(反映到前台就是5个只读的下拉列表)分别引用了5个不同类型的BO,而且每个类型的BO表里的数据都有上千条记录。那么页面显示的时候,就有可能加载得特别慢。看下页面源代码,就可以发下, select的option 很多,把BO里面的所有记录都筛选出来了。这样就会造成加载慢的情况。要解决也很简单,为这写字段加上 域脚本
2013-04-18 14:15:31
676
原创 关于display string 和 lookup field
右击任意一个 bo,弹出business object properties 窗口,转到advanced页,有display string 和 lookup field选项比如 display string的值为 ${budget_order_no}(${budget_name}) 这里涉及到了freemarker,表示用这个bo里的 这2个字段表示这一行记录,类似主键一样。这样其他s
2013-04-11 10:18:52
898
原创 关于Designer中打开USERDB EXPLORER瞬间秒退或崩溃情况
可以肯定的一点,报错了,需要查看日志的报错信息。记录下某次纠错的信息:designer崩溃后,查看报错信息,报了一个如下的错:。。。。。。。。。。。。。。。。。。。。。。。。。。。。SELECT a.hs_modified_time, a.f_db_type, a.f_db_name, a.hs_uuid, a.hs_created_time, a.f_db_password, a
2013-04-10 15:54:52
1061
原创 关于UDB升级降版本的问题
现象:在前台停掉 UDB后,在designer中升级 USERDB,升级进度条走到底,看似升级成功,但是刷新下,版本又降下去了。遇到这个问题。。。 buddy, you are so unlucky。。。。如果这个在生产环境上出现了,就不要做处理了,让甲方联系原厂吧,毕竟自己搞弄坏了就不好了。如果是在自己的开发环境或者是不重要的环境,可以通过数据库的还原来重新升级下。如果你升级
2013-04-10 10:13:29
819
原创 ORACLE 备份还原
记录下,以免忘记:备份:su - oracle -c "expdp system/oracle schemas=udb directory=d_backup parallel=2 exclude=TABLE:\"in(\'T_ATTACHMENT\')\" dumpfile=udb.dmp"su - oracle -c "expdp system/oracle schemas=sdb
2013-04-09 09:55:45
476
原创 关于BO新建权限问题
到现在才发现的,以前没大注意,记录下。一般是admin在前台登陆后,点击 系统设置,然后设置哪些BO可以哪些人可以读写。然后发现个问题:bo的权限设置后,建个链接,填上bo的新建页面的链接,发现新建提交可以成功。那个 业务对象文件夹 内BO的新建按钮倒是没有了。看来还得手工写代码来控制BO的新建权限。一方面是非代码控制BO的权限,另一方面是代码控制BO的权限,2者结合。(或者新
2013-04-08 16:53:19
855
原创 关于lov的option显示问题
注意几点:1.在designer 中以 中文模式 编辑lov,不要进入英文模式编辑。2.抓取option的代码 op.getText("zh_CN") ,这个“zh_CN”必不可少。 不加的话,默认抓取 hs_option 表的 f_display_name字段,加了的话,是hs_option表和hs_locale表关联,抓取hs_locale表的f_text字段。故这点需要注意下。3
2013-04-07 10:12:27
814
原创 关于在代码里面使用同一个Session创建的同一个DATAQUERY
场景: 在一个session下面创建了一个dataquery 对象,准备查询2次,查询第一个对象A,过后再settarget 想查询另一个对象B。数据库一直报错: == == java.sql.SQLException :ORA - 00904 :"A"."F_CHECK_TYPE":invalid identifier打印出查询第一个对象的SQL 是完全没有问题的,一直没
2013-04-03 14:53:15
574
转载 记录下原厂的回复----升级UDB
在升级UDB时,务必注意以下几点:1、 SDB中hs_userdb记录与配置文件udb_config.xml的相关参数需保持一致2、 前台“服务器管理”中若stop了udb,请勿重启服务,会导致stop的udb消失。 解决2的方法:A. 删除udb_config.xml中被stop而消失的udbB. 重启服务C. 前台“服务器管理”重新挂载消失的
2013-03-20 11:09:00
806
原创 关于默认的邮件模板
估计导出sfo成xml 的时候默认把 email模板里面 类型为 ALL SFO 类型的email 模板全部导了出来。类型为该类 sfo 的模板也一并导出,其他类sfo的模板不导出。
2013-03-20 10:51:19
586
原创 关于HBP应用下的缓存
发现应用迁移到oracle后,升级udb的时候,时不时要清除缓存。windows环境下 倒是不是那么需要清除缓存。反正记住了,开发的时候升级一次,清除下缓存。 尤其是你 在 xml里面改动 域脚本的时候,更得清除下缓存,不然你死活找不到为什么错了。
2013-03-20 09:52:59
660
原创 SUSE samba 配置文件
linux-spdb:/etc/samba # cat smb.conf # smb.conf is the main Samba configuration file. You find a full commented# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the# samba-doc
2013-03-13 17:15:59
985
原创 随手记下通过API获取LOV名称和UUID的便捷方式
新建个文本文档,保存名字为 xxx.bsh.内容仿照如下: import java.util.*;import com.hansky.apps.butterfly.server.ButterflyServer;import com.hansky.intf.sat.IBusObject;import com.hansky.intf.sat.IDataCollection;
2013-03-04 10:00:19
925
原创 记录下运维一二事
1.public IStateflowObject getContainer()If this is a composite object under a stateflow object or business object, return its container.这个方法用来获取 composite bo 挂在哪个 sfo/bo下面记录下 在 fieldscript 里面无论如
2013-01-22 10:32:02
545
原创 每年年底31号晚修改PROJECT序列号
找到UDB的t_projects表,比如project的前缀是ABC2012 改下hs_proj_prefix 列 为ABCD2013,那么序列号以ABCD2013打头。如果序列号要从0重新开始,那么设置hs_max_count (记录了这个流程有多少条记录)为 0 (表示0条记录) 最后重启下服务(因为这些项目信息存在缓存里面了,不重启服务无法更新) 另外说下有不需要重
2013-01-04 10:35:30
1394
原创 记录下运维过程中出现的问题1
某天磁盘满了,导致了如下的问题出现,最终通过重启服务解决了。某一类型的sfo,在某个transition操作的时候,页面表单缺失了大半部分,且css全部失效,为全白页面。无法点击确定按钮。 又某一天,发现freemaker 把数字类型的字段,超过3位数,自动加了个逗号。可能的解决办法:http://rongjih.blog.163.com/blog/static/3357446
2012-12-31 16:38:37
794
原创 关于我前任附件控制的做法
过了大半年了,现在终于知道前任是怎么做到附件隐藏的了。在这里不得不佩服下。这个tiny detail 都能找得到。原理 : 在 t_attachment 表里面,有个栏位f_type ,当 值为1 时 ,前台附件可见,值为3时附件不可见。然后在any 节点的can transit 里面控制,如果有权限则将f_type设为1,如果没有权限则设置为3. 大致就是这样。不过前任在判断完成后,起了个线
2012-12-03 13:45:29
407
原创 oracle的环境下判空
oracle 默认把 空字符串都当成 null 处理。mysql倒不一样。mysql 里面 执行select count(*) from t_usr_pmsf where f_p_projman select count(*) from t_usr_pmsf where f_p_projman = ''; 3select count(*) from t_usr_pmsf w
2012-11-27 16:19:15
924
原创 在整个xml中查找代码中的关键字
从这个SQL 中可以 快速定位到xml中的脚本的地方。 仔细分析下就知道了。但是这个sql 不能查any 状态下的transition 。 查询方式:select hs_uuid,f_value from hs_text_blob where f_value like .......查出的f_value 栏位就是脚本代码。然后就是扩充下这个sql,可以快速定位到xm
2012-11-27 16:13:28
1431
转载 (严重)HBP oracle 环境,double field 必须设置初始值
场景: 新建流程,表单中有double 类型的字段,且未填数据,点击确定结果报错说数据下溢。 原因: double型的字段不use default value,前台新建流程该字段为空,API中getDoubleField()获得的值并不是0,而是4.9E-324,该大小已经超过了数据库字段类型所能存储的范围。 解决办法 以后designer中加 类型为double的字段,
2012-11-20 15:32:25
507
转载 前台的Project 里面加人员
前台Project 里面加人和 角色里面加人 是比较麻烦的,尤其是人员比较多的时候。之前我写了一篇javascript前台加人的文章。下面是原厂的加人代码 ProjectUtil.java package com.hansky.tools.util;import com.hansky.apps.butterfly.intf.IAddInManager;import com.
2012-11-15 16:32:40
1515
转载 将代码写在Butterfly外部的方法
//Designer中用于获取脚本路径的方法/** * Get path of scripts. * @param args SFEventArgs * @return String */public String getScriptsPath(SFEventArgs args){ String stateflowName = args.getStateflo
2012-11-15 16:14:58
445
原创 记录下我当时post butterfly的perl代码
#!/usr/bin/perl -wuse strict;use diagnostics;use warnings;use Win32::OLE;use LWP::UserAgent;use FindBin;use HTTP::Cookies;use File::Spec;use Encode;use 5.010;$| =1 ; #设置立刻刷新缓冲区
2012-11-15 15:48:51
1412
转载 Butterfly 操作 Tab页面等
Hansky/HBP/Server/rsrc/rsrc/chtml/uiext/udb.uuid/sfo.name/sf.name/ 目录下/show/ +/sf_show.bsh sf_show.bsh 里面的内容import java.util.*;import javax.servlet.*;import javax.servlet.http.
2012-11-15 15:43:17
672
转载 Butterfly UI 编写方式
Hansky/HBP/Server/rsrc/rsrc/chtml/uiext/udb.uuid/sfo.name/sf.name/ 目录下/show/ +/sf_show.bsh +/${state_name}.bsh/trshow/ +/${state_name}-{transition_name}.bsh +/submit.b
2012-11-15 15:39:34
566
原创 记录下类似BUG的一件事情
有 4个状态 SA ----->SB ----->SC------SD ,之间 的transition为 TA ,TB ,TCTA transition的aftertransition 里面开始自动流转,至SC状态。然后SC 的State面板指定 DEFAULT OWNER 为 f_p_projman 字段,然后在TC的transition 面板里面指定了 only the owner
2012-11-07 18:01:32
368
原创 搜索Designer中BO中的代码
如果是global scripts 还好点。找到 userdb 里面的 hs_global_script 表的f_script 栏位,存放的就是 全局脚本。如果是 transition 的代码或者 can ,before,after 里面的代码,在designer中就没法搜索了,得去数据库查。找到 userdb的hs_text_blob表, 搜索 f_value 栏位,看代码大概能够
2012-11-07 17:50:40
752
原创 Butterfly API 分析3
1.如下的例子: ISession session = ctx.createSession(); session.txBegin(); IDataQuery dq = session.createDataQuery(); dq.setTarget(session.getObjectDef("zbqdrelated")); dq.addFiel
2012-11-06 21:00:35
1051
转载 Windows操作系统 hansky butterfly从32位jdk迁移至64jdk位启动服务
Hansky HPC、Firefly和HBP支持在64位Windows操作系统中使用64位JDK,配置和使用方法如下:以HPC为例。正常安装HPC,安装后做以下调整: 拷贝jsl.exe到HPC安装目录%Hansky%\HDS\nt-service\目录,替换原jsl.exe文件。 拷贝hansky2.dll到HPC安装目录%Hansky%\HDS\lib\目录,替换原hansky2.
2012-11-02 13:33:29
1016
原创 关于solution中导出xml损坏
碰到过这样的一件事情,designer 导出xml,然后导入到其他机器发现无法导入,xml导出损坏了。问了下原厂:本地修改保存后,如果想要checkin。先关闭designer ,然后清除掉\Hansky\HBP\Server\rsrc\schema_cache 和Hansky\HBP\Server\rsrc\solution_cache 里面的缓存文件。然后再checkin 。这
2012-11-02 12:46:05
481
原创 userdb 的hs_business_object 表分析
这张表记录了userdb里面的BO 和对应的表。主要有以下几个字段 f_visible_flag , f_editable_flag ,f_is_sfo,f_name ,f_table_name 首先 f_name 对应的是BO的名称,f_table_name 对应的是 数据库的tablenamef_visible_flag 为 0 表示designer 一般模式下不可见,工
2012-11-02 12:41:32
859
原创 designer factory 模式
designer 可以进入工厂模式。 右击designer 快捷方式的属性,在快捷方式tab页的目标 选框中:"D:\Program Files\Hansky\HBP\Client\bin\HBPDesigner.exe" 改成"D:\Program Files\Hansky\HBP\Client\bin\HBPDesigner.exe" -factory那么designer
2012-11-02 12:32:47
831
原创 关于multireference 的筛选查询
比如有个字段 MRA,是 multireference 的类型。(比如我要删选MR 里面是否引用了一个BO )一般的做法是构造对 MRA的jointable,然后对这个jointable 添加过滤器 其实可以这样写 dq.addFilter("MRA",SATconstants.SQL_OP_EQUAL, BO.GetOid)代码自动实现了上述的功能。
2012-11-02 12:18:53
738
原创 关于windows平台下 ini配置文件value 的长度
启动文件 jsl.ini中有一行参数是指定jar 路径的。试了下 能支持到3270个字符左右。过了3300多个字符服务就启动不起来了。而linux 平台则没有这个限制。 又试了下,好像有不能重启的情况。3150左右字符服务可以启动。 最新的解决办法:Hansky\HBP\Server\rsrc\chtml\WEB-INF\lib 目录下的jar包会自动加载,不需要放到 jsl.in
2012-10-24 12:26:30
1528
原创 businessOBject 的composite only 属性
businessobject 右击,在business OBJECT properties 面板里面,advanced tab页里面。 有一个composite only 勾选项,勾选之后,前台的 业务对象里面是看不见的(推测应该是这样的),找了半天,页面上没找到这个bo,无论怎么升级都没用,不知怎么的想到了这个属性。我勾选了之后,save。然后再取消 勾选,然后designer 就会崩溃。
2012-10-23 16:48:58
935
原创 查找各个对象的UUID
查找sfo 的UUID (不是查找sfo的实例的UUID)select f_root_oid from hs_stateflow_object where f_bo_name =( select f_root_oid from hs_business_object where f_name='DT')DT 为sfo/bo 面板(即 stateflow object properties面板
2012-10-11 11:43:17
1353
Windows操作系统 hansky butterfly从32位jdk迁移至64位启动服务
2012-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人