• 【loadrunner】:SAP-GUI脚本压测中,字符截取的问题汇总


    1,SAP-GUI的脚本和普通脚本有很大区别,在录制成功之后,脚本每一步的操作,都是格式化的,例如:

    	sapgui_set_text("合同编号", 
    		"20010494", 
    		ctxtRMF672, 
    		BEGIN_OPTIONAL, 
    			"AdditionalInfo=sapgui5018", 
    		END_OPTIONAL);
    

      这是一个在“合同编号” 中输入参数的一部操作,在这一操作中,通过LR自带的SAPgui的函数集中的set_text函数来控制输入

    合同编号:是这个text框的标题;

    20010494:是输入款的内容;

    ctxtRMF672:是这个输入框的属性id,在脚本的globals.h的头文件中:

    SAPgui的函数集大概如下,覆盖所有gui页面的操作:

     这支业务做成功之后,会返回一个提示页面信息:

    	sapgui_status_bar_get_text("paramStatusBarText", 
    		BEGIN_OPTIONAL, 
    			"Recorded status bar text: 合同 20012770已在公司代码 1000 中创建", 
    			"AdditionalInfo=sapgui5056", 
    		END_OPTIONAL);

    表名合同已经创建成功了,但是 string paramStatusBarText = “合同 20012770已在公司代码 1000 中创建”

    SAPgui的函数集范围内没有截取合同号20012770的函数,但是Lr是兼容C语言的,所以用c的字符串处理函数库,可以处理这个

        char str1[100];
        char str2[100];
        char * str3;
        strcpy(str1,lr_eval_string("{paramStatusBarText}")); //将guiBarText的text值赋值给str1
        lr_output_message("========str1返回信息为:%s,",str1);
        strncpy(str2,str1,13);                                // 截取str1的前13位赋值给str2,前13位=“合同 20012770”
        lr_output_message("========str2返回信息为:%s,",str4);    
        str3=(char *)strchr(str2,'2');                            //截取str2的从2开始至最后的字符,也就是20012770并转化成char类型赋值给str3
        lr_output_message("========str3返回信息为:%s,",str3);
        lr_convert_string_encoding( str3,LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"newstr3" );//这一步是转化成LR可以直接参数化使用的{newstr3}格式

    返回内容:

    Action.c(178): ========str1返回信息为:合同 20012970已在公司代码 1000 中创建,
    Action.c(181): ========str2返回信息为:合同 20012970,
    Action.c(183): ========str3返回信息为:20012970,  

    以上。

    在引入c的库函数过程中,变异一开始提示未定义错误:illegal statement termination

     具体原因是,在action里面,定义char之类的操作,应该放在最上面,把     lr_start_transaction("fnv1合同创建");移到char定义后面就行了。

  • 相关阅读:
    /etc/init.d/functions: No such file or directory报错问题
    在Linux上安装Python3.7.1
    python 使用openpyxl实现读写xlsx文件
    Git 撤销本地修改
    element的el-table表格自定义表头,slot="header"内,数据不更新的问题
    记录下本地修改文件名称大小写问题线上说找不到文件
    解决国内访问github慢的问题笔记
    vue项目中使用echarts实现疫情地图
    uni-app项目搭建
    uniapp引入uni-ui组件报错TypeError: this.getOptions is not a function
  • 原文地址:https://www.cnblogs.com/fy--/p/14182990.html
Copyright © 2020-2023  润新知