关于放在lib内自定义脚本的访问路径问题

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

关于放在lib内自定义脚本的访问路径问题

Cook_yan
我在lib里面 放了一个utils.py作为公用的工具类  ~/lib/utils.py

若是将测试用例直接放在默认的目录下
~/script.py ,同给出的文档例子一样
http://www.cubrid.org/wiki_ngrinder/entry/how-to-use-library
则可以访问到我的utils.py

但是我的测试用例比较多所以要将每一类用例归类,所以在默认目录下建了文件夹,并且把测试脚本放在里面即
~/caseA/modeA/scriptA.py

这时候发现scriptA.py 无法找到utils.py

在后台目录里找了很久发现util.py被在了数据库文件中,不能直接操作。且每次执行脚本都是先从db文件里取出文件再执行

所以想问下,在我这样的目录结构下,怎么能比较方便的取到util.py?
Reply | Threaded
Open this post in threaded view
|

Re: 关于放在lib内自定义脚本的访问路径问题

Mavlarn
有关lib和resources目录的逻辑是:
对于一个脚本,例如"caseA/modeA/scriptA.py",脚本执行引擎会查找是否有“caseA/modeA/lib”目录,有的话,就找到里面所有的jar、py文件,作为需要引用的文件。也就是说,会在你要执行的脚本所在的目录查找lib目录,以及里面的文件。

像你这种情况,只能在所有的modeA、modeB目录里面放一个lib目录,把utils.py放进去,但是,这样肯定很麻烦,也不方便维护。

对于这个问题,我们也考虑过提供一个common libraries,但是,没有实现这个,因为毕竟对于性能测试,不太会有特别复杂的测试代码。像你这样的情况,我们就是放在一个目录里面,用文件名区分case, mode,就像caseA_modeA_scriptdesc.py。
Reply | Threaded
Open this post in threaded view
|

Re: 关于放在lib内自定义脚本的访问路径问题

Cook_yan
哈 谢谢啊
Reply | Threaded
Open this post in threaded view
|

Re: 关于放在lib内自定义脚本的访问路径问题

yu.zhai
In reply to this post by Mavlarn
目录结构中的脚本,只能读取同级目录的resources目录下的数据.txt文件么?