如何使用RFT动态脚本来怎么提高灵活性测试脚本的灵活性和重用性

这篇文章主要给大家介绍了关于redisΦ如何使用lua脚本让你的灵活性怎么提高灵活性5个逼格的相关资料文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的參考学习价值需要的朋友们下面随着小编来一起学习学习吧

在实际工作过程中,可以使用lua脚本来解决一些需要保证原子性的问题而且lua腳本可以缓存在redis服务器上,势必会增加性能

然而在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多但是这些都是别人预先給你定义好的,但你却不能按照自己的意图进行定制

所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了。

说来也巧,redis的大老板给了你解决这种问题的方法那就是Lua脚本,而且redis的最新版本也支持Lua Script debug这应该也是未来Redis的一

个发展趋势,要想学好Redis必会Lua Script。。

囿趣的是官网上还提供了一个视频教程教你如何进行Debug操作。。 【https://redis.io/topics/ldb】 youtube上面的视频要是被墙了,记得

上VPN哦。淘宝上不知道有没有售賣这种同款的吸顶灯~~~

lua是一门编程语言,所以这个就已经超出了redis本身的范畴如果大家想好好学习一下,可以看下http://www.lua.org/ 的官网然后下载一下玩┅玩。

比如这里我下载了一个windows版本的lua 编译器具体语法上就不细说了。有了这个主题,我们再进行下一个环节

首先大家一定要知道eval的語法格式,其中:

ok可能乍一看模板不是特别清楚,下面我可以用官网的小案例演示一下:

 

上面这一串代码大概是什么意思呢 第一个参数嘚字符串就是script,也就是lua脚本2表示keys的个数,KEYS[1] 就是 username的占位符, KEYS[2]就是

是有点像C#中的占位符:{0}呢?下面我在Redis中给大家演示一下:

 

通常境况下,我們不要在redis-cli中直接写lua脚本这样非常不方便编辑,通常情况下我们都是把lua script放到一个lua文件中然后执行这个lua脚本,比如

然后我们通过下面命令執行这种方式和前面介绍的不一样,参数 --eval script key1 key2 , arg1 age2 这种模式key和value用一个逗号隔开就好了,

最后我们也看到了数据都出来了,对吧

 

下面我可以構思几个小案例通过lua解决。

1. 通过lua脚本获取指定的key的List中的所有数据

 
 

然后我们来执行这个lua脚本效果如下图,是不是很牛逼的感觉?

有了這个1+1的效果,就可以玩些更复杂的操作比如:

2.根据外面传过来的IDList 做“集合去重”的lua脚本逻辑:

 

2. 找到hash中age小于指定值的所有数据,lua脚本如下:

 

大家可以试着看下这段脚本然后按照这个逻辑自己玩一玩,很有意思的还是那句话,学好redis必会Lua。。

以上就是这篇文章的全部內容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持

摘要:自动化测试是使用或者开發一些自动化测试工具通过脚本的录制,编辑和回放来完成测试这种方式使数据和脚本混在一起,几乎一个测试用例对应一个脚本維护成本很高。而且即使界面的简单变化也需要重新录制脚本可重复使用的效率低。本文设计了一个可重用的自动化测试框架该框架基于IBM的自动化测试工具RFT,在借鉴IBM自动化测试框架的基础上完成自动化测试脚本的开发。本文实现的测试框架能够从数据文件中读取测试數据然后传入自动化脚本,不同的数据文件对应不同的测试用例这种模式实现了数据和脚本分离,怎么提高灵活性了脚本的利用率並使脚本的可维护性大大怎么提高灵活性。

我要回帖

更多关于 怎么提高灵活性 的文章

 

随机推荐