关于脚本录制:
1. 怎样取得弹出式窗口的脚本?
有些窗口直接与client端交换数,并不经过APACHE web server,这样的弹出式窗口我们无法通过跟踪apache上的access log取得path和parameters, 然后手工加入控制环,只有对经过APACHE web server的窗口才可以。
2. 怎样查看apache access log?
a. 用SecureCRT登陆web server;
b. 输入ps –ef |grep httpd 命令,可以查到当前正在运行的进程并得到apache程序目录;
c. 进入程序目录 cd /www;
d. 进入log目录 cd /logs;
e. 查看日志 vi /www/logs/access_log;(或者查看动态日志 tail –f /www/logs/access_log)。
9. 为了提高脚本的可移植性,我们需要定义变量来替换静态值,怎样能快速完成替换工作呢?
用编辑器打开jms脚本,然后进行查找替换可以提高效率。但是在进行这种操作前有些问题需要注意:a. 一定要在加变量前进行,否则变量会被替换掉。b. 替换条件要保证替换值的唯一性。 c. 谨慎检查,多遍多方法检查。
10. 因为软件的原因,使用badboy录制的脚本回有些‘=’丢失,该怎样补救呢?
在每个http request中click the box of include equals,使其勾选中即可。因为Badboy的原因,有些选项虽然勾中,但是运行时不一定会真的包含在运行脚本里,所以对于录制时就已经勾选的地方需要手工每页再次勾选一下,这时有2个地方要注意,一是要在手工勾选后时期保持原状,二是每页只需勾选一个即可达到目的,不用每个参数都操作。在脚本里,还有没有被勾选的参数,这是因为在录制时该参数无值,是可以忽略的。
11. 在录制完脚本后有哪些注意事项?
录制完成后要检查录制脚本是否可以正常工作,即使录制时的操作是成功的,也不能保证脚本完全正确,我们应该简单run一下看看原始脚本是否能够达到预期目标。比如schedule meeting的脚本,我们在录制完后run,检查是可以真正schedule新的meeting,没有的话说明脚本是无效的。
12. 需要手工定义为正则表达式的变量有什么特征?
a. 是需要动态捕获的,在不同环境下,其值是不可预知的。
b. 为了移植需要,在各环境中有不同的值的。
c. 页面内部使用的不需要。
d. 用户手工填写的不需要。
13. 录制脚本时参数的选择?
尽量选择一些公用的较普遍的参数,这样的脚本受环境和用户权限限制会小些。比如在schedule时选择meeting center pro meeting这样的普通参数。
14. 录制脚本时的时间选择注意事项?
在录制时,如果遇到跟时间有关的或者类似依赖当前状态的选项,请尽量将时间向后选择,否则在状态无法满足后,脚本将无法run。我们也可以将这种有依赖当前状态的值设置为变量,这样通过给变量赋值。也可解决这种问题。
15. 那些值应键入公共用户变量?
如果有整个plan都需要用到的变量就可以独自拿出放入公共变量中,比如user name/password等。
16. 为何有时不定义正则表达式也能正常运行?
因为有些不可见参数虽然产生,但是在其后的脚本中也许并未调用到,这样的情况下定义与否并不会有影响。
17. 在写脚本时有什么原则?
尽量以功能为单元建立step,这样既可以做整体测试,也方便进行功能测试和个功能间的关系测试。
18. 怎样开始基本的错误分析?
在遇到错误时,首先检查request,如果其中get或post的url可以直接正常在浏览器上打开,那么就说明脚本是正确的,否则就说明脚本需要修改。如果遇到一些url需要cookie,它可能直接返回login页面,这时不适用此方法。