正则表达式的运用—— 一键删除Loadrunner录制脚本时生成的无关函数
正则表达式非常的强大,我学得很皮毛,基本上是打开正则表达式30分钟入门教程.pdf这个文档,边看边写表达式。正则的规则比较多,不经常使用的话非常容易忘记,所以还是需要多多练习。
因为需要经常使用Loadrunner录制Web页面时,脚本中都会生成一些无关的函数,需要手动删除。手工删除耗时耗力,使用正则表达式就可以一劳永逸啦~

一、使用方法
Web脚本录制完成后,用UE打开Action.c文件(可以先做个备份),通过查找替换功能删除无关函数,如下,1600行的脚本通过一键替换就精简成不到500行:


汇总的表达式如下:

\r\n\tweb_add_cookie.*?\);\r\n$|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://cm\.pos\.baidu[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://wmcdn\.allyes[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://ie9cvlist\.ie[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://cms\.tanx[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://cm\.l\.qq[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://idigger\.allyes[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=https://idigger\.allyes[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://cms\.gtags\.net[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://cm\.as\.pptv[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://origin\.allyes[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://r\.dmp\.sina[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://sax\.sina\.com[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://ckmap\.mediav[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://cm\.g\.doubleclick[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://cp\.qtmojo[\s\S]*?\t\tLAST\);\r\n|\r\n\tweb_url\(".*",\r\n\t\t"URL=http://googleads\.g\.doubleclick[\s\S]*?\t\tLAST\);\r\n|EXTRARES,\r\n(\t\t.* .* ENDITEM,\r\n)*(\t\t.*\r\n)*(\t\t.* .* ENDITEM,\r\n)*\t\t


二、表达式中删除的部分说明
我个人觉得需要删除的主要有三个部分:
说明:因有些场景是需要用到cookie和EXTRARES属性的,如果不想删除web_add_cookie() 函数和EXTRARES属性部分,可以自行将表达式中的第一个分组和最后一个分组部分删除即可。

1. 删除web_add_cookie() 函数

形如:web_add_cookie("PYID=F589nvBpynW; DOMAIN=cm.ipinyou.com");

正则表达式查找: \r\n\tweb_add_cookie.*?\);\r\n$ 替换为:空

2. 删除操作系统或IE浏览器插件导致的无关函数:

这些函数形如:


通过正则表达式匹配URL以无关网址开头的函数即可


以上第一个函数通过正则查找:\r\n\tweb_url\(".*",\r\n\t\t"URL=http://wmcdn\.allyes[\s\S]*?\t\tLAST\);\r\n

替换为空即可。

每个人的IE里面的插件可能有一些不同,URL可能有些差别,我这里收集的包括 (后续有更多的可以一并汇总在一起):

3.函数中EXTRARES属性部分:

正则表达式查找:EXTRARES,\r\n)*\t\t 替换为:空

删除的内容形如:

正则表达式的运用—— 一键删除Loadrunner录制脚本时生成的无关函数的更多相关文章

  1. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  2. HTML5数字输入仅接受整数的实现代码

    这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. 浅析HTML5中的download属性使用

    这篇文章主要介绍了浅析HTML5中的download属性使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  4. HTML5 Blob 实现文件下载功能的示例代码

    这篇文章主要介绍了HTML5 Blob 实现文件下载功能的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. web字体加载方案优化小结

    这篇文章主要介绍了web字体加载方案优化小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  6. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  7. ios – 加载空白页面的SFSafariViewController

    我正在使用SFSafariViewController在我的iOS应用程序中打开一个URL..它在iOS9上完美运行但在将我的设备更新到iOS10后,它只是在地址栏中加载了一个没有URL的空白页面.甚至safariViewController(控制器:SFSafariViewController,didCompleteInitialLoaddidLoadSuccessfully:Bool)在控制器

  8. ios – 应用更新,NSURL和文档目录

    我应该存储相对图像网址或字符串来表示这些资源的位置,还是应该可以存储最终成为绝对网址的内容?

  9. ios – 从Facebook这样的任何URL获取特定图像

    我的问题看起来可能与其他问题类似,但事实并非如此.(据我所知).我无法理解如何从任何URL获取特定图像像Facebook一样,我无法向您显示屏幕截图,因为我没有真正的设备.但我可以告诉你Skype的屏幕截图来自MAC.任何帮助将不胜感激.thanks.编辑:我使用这个link获得了favicon,但它非常小我想要更大的尺寸.解决方法最后,我得到了答案.这可能对你有帮助,这就是为什么我发布这个答案.

  10. ios – 资产目录与文件夹参考:何时使用其中一个?

    我可以将文件放入Assets.xcassets,或者我可以将文件放入文件夹引用.我何时会选择一个而不是另一个?

随机推荐

  1. 法国电话号码的正则表达式

    我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

  2. 正则表达式 – perl分裂奇怪的行为

    PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

  3. 正则表达式 – 正则表达式大于和小于

    我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

  4. 如何使用正则表达式用空格替换字符之间的短划线

    我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

  5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

    有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

  6. 正则表达式 – 在Scala中验证电子邮件一行

    在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

  7. 正则表达式对小字符串的暴力

    在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

  8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

    isthedelimiter,thenthematch-only-onceruleof?PATTERN?

  9. 正则表达式 – 替换..与.在R

    我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

  10. 正则表达式 – 如何在字符串中的特定位置添加字符?

    我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

返回
顶部