Jmeter集成到jenkins

news/2024/11/22 19:38:44/

Jmeter集成到Jenkins

序号

修改人

版本

创建日期

修改日期

备注

1

进击的雷神

V1.0

Jmeter集成到Jenkins. 1

软件下载... 4

一:环境配置... 4

1.JDK安装:... 4

配置JDK环境变量... 5

2.Jmeter安装:... 5

配置jmeter环境变量... 6

3.安装Ant 7

配置Ant环境变量... 7

4.Git安装:... 8

配置git环境变量... 9

5.Github设置... 11

创建github账号... 11

创建组织... 12

创建Repositories. 14

二:Eclipse操作使用github. 16

1.Eclipse连接github. 16

1.1创建本地Branch. 20

1.2 Eclipse创建项目... 21

1.3 Share项目... 22

1.4上传项目到github. 25

1.5提交文件... 25

三:Jenkins相关配置... 30

1.安装Jenkins: 30

2.Jenkins插件安装:... 32

3.Jenkins系统配置... 34

3.1 Jenkins邮件配置... 34

3.2 Git工具配置... 35

3.3 Github相关帐户配置... 36

4.配置测试项目... 37

4.1新建测试项目... 37

4.2项目源码管理配置... 38

4.3项目构建配置... 38

4.4测试报告插件配置... 39

4.5邮件发送配置... 41

四:Jmeter构建说明... 43

1.目录详解... 43

2.build说明详解... 44

3.执行jenkins之前动作... 46

软件下载

JDK  http://java.sun.com/javase/downloads/index.jsp

jmeter  http://jmeter.apache.org/download_jmeter.cgi

搭建环境:

JDKjdk1.7.0_79

Antapache-ant-1.9.7

Jmeter: apache-jmeter-2.13

Jenkins: jenkins-1.651.1

Git tool

Github管理资源库

以上安装包以及相关工具下载地址:

Jenkins_Jmeter_Ant_免费高速下载|百度网盘-分享无限制

一:环境配置

1.JDK安装:

1.双击JDK安装包,选择安装路径(为了节省C盘系统盘空间,不建议选择默认路径。本人所有相关软件全部安装在 D:\Progrom Files目录下,例如Jdk安装在D:\Progrom Files\Java\jdk1.7.0_79路径下);

配置JDK环境变量

1)系统变量新建 JAVA_HOME 变量

变量值填写jdk的安装目录(本人是 D:\Progrom Files\Java\jdk1.7.0_79)

2)系统变量寻找 Path 变量编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

3)系统变量新建 CLASSPATH 变量

变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)

系统变量配置完毕

4)检验是否配置成功 运行cmd 输入 java -version java -version 之间有空格)

若如图所示 显示版本信息 则说明安装和配置成功。

2.Jmeter安装:

  1. 解压apache-jmeter-2.13.zip到D:\Progrom Files目录下。

2.Jmeter插件的安装。解压JMeterPlugins-Extras-1.3.0.zip、JMeterPlugins-Standard-1.3.0.zip,将对应ext目录下的文件拷贝到D:\Progrom Files\apache-jmeter-2.13\lib\ext目录下;

配置jmeter环境变量:

  1. 设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\Progrom Files\apache-jmeter-2.13,点击确定即可。
  2. 在环境变量CLASSPATH中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 在环境变量Path中添加%JMETER_HOME%\bin
  3. 检验是否配置成功 运行cmd 输入 jmeter -v jmeter -v 之间有空格)
  4. 若如图所示 显示版本信息 则说明安装和配置成功。 

3.安装Ant

  1. 解压apache-ant-1.9.7-bin.zip到D:\Progrom Files目录下; 

配置Ant环境变量

  1. 新建以下环境变量:

ANT_HOMED:\Progrom Files\apache-ant-1.9.7,此为你的ANT安装路径;

设置完成后,点击"确认"来保存。

       2.在环境变量PATH的最后面添加一下内容:

;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。

       3.进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了. 

  1. 本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;
    1. jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
    2. 将apache-jmeter-2.13\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.7\lib目录下;
    3. 在\apache-jmeter-2.13\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件。

若构建失败,请分析cmd打印的日志消息,定位问题;

3.    记得把jmeterextras目录下的ant-jmeter-1.1.1.jar拷贝到antlib目录下

4.Git安装:

  1. 安装git

git下载下来后直接安装运行就行。

 按照默认执行安装即可

配置git环境变量

添加path:例如:G:\git\Git\cmd 

 然后打开cmd,运行:git

5.Github设置

创建github就是为了使用jmeter相关东西,像构建里面的path就可以配置成相对路径

创建github账号

  https://github.com/login

账号创建按照github要求创建

创建组织

    1. 登录github创建team,也可以创建,后边建项目时直接建在登录账号下,如果要对项目权限访问更细那就建议建一个

点击右上角的+,点击new organization创建一个组织机构名

创建完成之后选择成员,完成之后创建repositories

创建Repositories

 你可以选择公共的还是私有的

创建完成之后如下图

创建完成之后就可以连接到该库了,也可以把一些代码上传到这个上面,后面会把jmeter相关的传到这个上面

 如图中的地址就是项目的地址,你可以在eclipse里面直接连接

二:Eclipse操作使用github

1.Eclipse连接github

可以在Eclipse中上传jmeter相关到github

首先需要安装github插件到Eclipse中,这个就不细说了,网上搜一下安装就行

  1. Eclipse连接到github

连接的URL\就是你刚才建好的项目的URL,直接复制就行,你复制后回到Eclipse页面后对应信息会自动填入,然后你输入帐户,密码就可以了,下一步直到完成

 

 如上图,我的项目就是Autotest这个,如果新建的项目还没有上传任何东西时只有一个master分支。如下图

1.1创建本地Branch

先建一个本地仓库的branch,后面提交东西可以提交到这个分支上。创建好了之后切换到java窗口,新建一个项目

1.2 Eclipse创建项目

1.3 Share项目

完成项目创建之后,选中项目点击右键 ,有看到一个team的功能嘛,点击share project

1.4上传项目到github

然后把你下载下来的包含jmeter的那个project信息放进去,上传,鼠标右键点击team→commit,如果是新上传的,需要勾选,如果是更新什么的就只需要选中那些要更新的然后点击这个就行,会自动帮你勾选上的

这里操作上传之前一定要记得选择一个分支,也就是之前建立的那个branch

1.5提交文件

提交文件操作时,勾选要上传的文件,有全选和去掉全选按钮的,然后写上提交的备注信息

 

 然后点击commit之后就可以看到branch有提交记录,然后这个才是提交到本地仓库,如果要提交到远程,则还需要操作一步

选择刚才提交上去信息的branch,比如我的是init-branch,右键选择pull branch

 新的分支的话Target Ref Name则是空,需要手动填写

Heads后面那个是你要提交的分支名字

refs/heads/master

 如图,这个就是提交成功以后的页面,然后可以到github上面看下你提交的东西是否上去了

如下图所示,就是我已经上传好的信息了

三:Jenkins相关配置

1.安装Jenkins:

  1. 安装的是jenkins-1.651.1.msi安装版,也可自行选择安装Jenkins其他版本;
  2. 双击jenkins.msi启动安装,安装目录选择D:\Progrom Files\Jenkins,然后启动成功。
  3. Jenkins服务默认端口为8080,如与其他服务冲突,可在..\Jenkins\jenkins.xml中修改默认端口,如我这里修改为--httpPort=7033;

     4.Jenkins服务默认是自动启动的,如果想修改为手动启动,请自行管理->服务,找到Jenkins服务,修改为手动启动即可。

5.打开Jenkins,首次进入会默认让你选择安装插件(此处如果完全不清楚自己需要什么插件,建议全选)。插件安装完成之后,需要设置登录用户,按照自己喜好设置即可。

6.这样jenkins就安装成功了。然后我们打开一个浏览器,输入localhost:8080(默认路径是这个,如果你修改了端口号,那就换成你改的端口号) 就会弹出jenkins的web界面。如下图: 

7.进入Jenkins主页:(我本机的jenkins地址是:http://localhost:8090/)

2.Jenkins插件安装:

系统设置->管理插件->可选插件,搜索插件,安装插件;

1.Jmeter报告性能的插件(Performance plugin

2.用作展示在jenkinsjobhtml报告插件(HTML Publisher plugin

3.git插件Git plugin

执行连接github资源库

4.github插件GitHub plugin

5.Email插件Email Extension Plugin   Email Ext Recipients Column Plugin

注:另外一些其他用的插件,如果需要可以使用jenkins plugins里面的。

3.Jenkins系统配置

Jenkins系统配置以及工具配置

3.1 Jenkins邮件配置

(系统配置系统设置)

如下图,配置邮件服务信息,用户名以及密码,SMTP端口,配置完成之后可以,点击通过发送测试邮件测试配置

      点击测试邮件后如果看到如下图的信息,说明配置成功

3.2 Git工具配置

(系统配置→Global Tool Configuration

  1. ​​​​​​​Ant,jdk,maven配置(有些可能用不到)

3.3 Github相关帐户配置

设置连接github的帐户,可以使用用户名和密码,id可以为空,添加后自动生成的

4.配置测试项目

4.1新建测试项目

Jenkins首页左边 点击新建 -> 选择"构建一个自由风格的软件项目",输入Item名称(中英文不限,建议使用英文) –> 点击OK,进入你新建的测试项目的配置页面;

  1. 项目配置步骤1

a、描述:用于编写该项目的介绍(请忽略);

b、丢弃旧的构建:这里勾选上,为了避免多余的构建日志、临时文件占磁盘空间,需要定期的清除过期文件。例如这里选择保存3天之内的构建文件,最大保存N个构建项目的文件;

具体设置如下图所示:

4.2项目源码管理配置

源码管理,选择git

如图所示,填写源码地址,选择连接帐户,还有分支信息

4.3项目构建配置

 

jmeter -n -t Testcase/test.jmx -l JmeterResult/TestReport.jtl

这个是jmeter的执行命令,为了执行jmeter脚本生成jtl文件,用作转换成html

项目配置步骤:

Ant Version:选择配置的ant的信息

Targets:配置build.xml中的target信息,比如reportfile

Build file:指定build文件的路径信息

4.4测试报告插件配置

配置Publish Performance test result report

首先设置要展示成jenkins这个插件的reportjtl信息,如下图

要展示的性能信息的一些配置参数

​​​​​​​项目配置步骤

配置展示在jenkinsjob的一个html信息

 参数解释,网上搜到,可以看你用哪个

下面我解释一下常用的属性。

  •  ${FILE,path="PATH"} 包括指定文件(路径)的含量相对于工作空间根目录。
    • path文件路径,注意:是工作区目录的相对路径。
  •  ${BUILD_NUMBER} 显示当前构建的编号。
  •  ${JOB_DESCRIPTION} 显示项目描述。
  •  ${SVN_REVISION} 显示svn版本号。还支持Subversion插件出口SVN_REVISION_n版本。
  •  ${CAUSE} 显示谁、通过什么渠道触发这次构建。
  •  ${CHANGES } -显示上一次构建之后的变化。
    • showPaths 如果为 true,显示提交修改后的地址。默认false
    • showDependencies 如果为true显示项目构建依赖。默认为false
    • format 遍历提交信息,一个包含%X的字符串,其中%a表示作者,%d表示日期,%m表示消息,%p表示路径,%r表示版本。注意,并不是所有的版本系统都支持%d%r。如果指定showPaths将被忽略。默认“[%a] %m\\n”
    • pathFormat 一个包含“%p”的字符串,用来标示怎么打印路径。
  •  ${BUILD_ID}显示当前构建生成的ID
  •  ${PROJECT_NAME} 显示项目的全名。(见AbstractProject.getFullDisplayName
  •  ${PROJECT_DISPLAY_NAME} 显示项目的显示名称。(见AbstractProject.getDisplayName
  •  ${SCRIPT} 从一个脚本生成自定义消息内容。自定义脚本应该放在"$JENKINS_HOME/email-templates"。当使用自定义脚本时会默认搜索$JENKINS_HOME/email-templatesdirectory目录。其他的目录将不会被搜索。
    •  script 当其使用的时候,仅仅只有最后一个值会被脚本使用(不能同时使用scripttemplate)。
    •  template常规的simpletemplateengine格式模板。
  •  ${JENKINS_URL} 显示Jenkins服务器的url地址(你可以再系统配置页更改)。
  •  ${BUILD_LOG_MULTILINE_REGEX}按正则表达式匹配并显示构建日志。
    •  regex java.util.regex.Pattern 生成正则表达式匹配的构建日志。无默认值,可为空。
    •  maxMatches 匹配的最大数量。如果为0将匹配所有。默认为0
    •  showTruncatedLines 如果为true,包含[...truncated ### lines...]行。默认为true
    •  substText 如果非空,就把这部分文字(而不是整行)插入该邮件。默认为空。
    • escapeHtml 如果为true格式化HTML。默认为false
    •  matchedSegmentHtmlStyle 如果非空,输出HTML。匹配的行数将变为<b style=”your-style-value”> html escaped matched line </b>格式。默认为空。
  •  ${BUILD_LOG} 显示最终构建日志。
    •  maxLines 日志最多显示的行数,默认250行。
    •  escapeHtml 如果为true,格式化HTML。默认false
  •  ${PROJECT_URL} 显示项目的URL地址。
  •  ${BUILD_STATUS} -显示当前构建的状态(失败、成功等等)
  •  ${BUILD_URL} -显示当前构建的URL地址。
  •  ${CHANGES_SINCE_LAST_SUCCESS} -显示上一次成功构建之后的变化。
    •  reverse在顶部标示新近的构建。默认false
    •  format遍历构建信息,一个包含%X的字符串,其中%c为所有的改变,%n为构建编号。默认”Changes for Build #%n\n%c\n”
    •  showPaths,changesFormat,pathFormat分别定义如${CHANGES}showPathsformatpathFormat参数。
  •  ${CHANGES_SINCE_LAST_UNSTABLE} -显示显示上一次不稳固或者成功的构建之后的变化。
    • reverse在顶部标示新近的构建。默认false
    •  format遍历构建信息,一个包含%X的字符串,其中%c为所有的改变,%n为构建编号。默认”Changes for Build #%n\n%c\n”
    •  showPaths,changesFormat,pathFormat分别定义如${CHANGES}showPathsformatpathFormat参数。
  •  ${ENV} –显示一个环境变量。
    •  var– 显示该环境变量的名称。如果为空,显示所有,默认为空。
  •  ${FAILED_TESTS} -如果有失败的测试,显示这些失败的单元测试信息。
  •  ${JENKINS_URL} -显示Jenkins服务器的地址。(你能在系统配置页改变它)
  •  ${HUDSON_URL} -不推荐,请使用$JENKINS_URL
  •  ${PROJECT_URL} -显示项目的URL
  •  ${SVN_REVISION} -显示SVN的版本号。
  •  ${JELLY_SCRIPT} -从一个Jelly脚本模板中自定义消息内容。有两种模板可供配置:HTMLTEXT。你可以在$JENKINS_HOME/email-templates下自定义替换它。当使用自动义模板时,”template”参数的名称不包含“.jelly”
    •  template模板名称,默认”html”
  •  ${TEST_COUNTS} -显示测试的数量。
    • var– 默认“total”
      • total -所有测试的数量。
      •  fail -失败测试的数量。
      •  skip -跳过测试的数量。

4.5邮件发送配置

配置构建后的结果信息要发送的邮件

  1. 项目配置步骤

Project Recipient List:收件人信息,如果有多个用;隔开 默认:$DEFAULT_RECIPIENTS

Project Reply-To List:回复列表,默认:$DEFAULT_REPLYTO

Content Type:邮件内容文本格式,如果要执行下面的脚本,则选择html

Default Subject:邮件主题,可以设置固定格式,也可以设置根据变量值设置,例如:构建通知:$PROJECT_NAME - Build # BUILD_NUMBER - $BUILD_STATUS!

Default Content:默认内容,不设置则默认:$DEFAULT_CONTENT

Pre-send Script:邮件发送前执行的脚本。

配置详看下图中,

邮件正文html代码:

<hr/>

 <font size="4">

<font color="#FF0000">(本邮件是程序自动下发的,请勿回复!)</font><br/><hr/>

 项目名称:$PROJECT_NAME<br/>

 构建编号:$BUILD_NUMBER<br/>

 构建状态:$BUILD_STATUS<br/>

 触发原因:${CAUSE}<br/>

 构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/>

 构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>

 变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>

 ###单击可查看报告文件详情

 运行结果:<a href="${BUILD_URL}../ws/TestReport.html">Report Detail>>></a><br/>

${FILE,path="./ws/TestReport.html"}<br/><hr/>

如果要配置邮件发送trigger信息,则可以设置这个

:Jmeter构建说明

1.目录详解

Buldfilebuild构建文件目录

ReportHtml:最终生成报告的目录,jenkinsjob显示的html报告也会从这个目录读取

Testcasejmeter脚本存放目录,就是jmx文件目录

bin/ ReportHtml: build后生成的html存放目录。

bin/ JmeterResult:执行jmeter脚本后生成的jtl文件的目录

2.build说明详解

1Property的定义,主要定一些目录信息,build文件中有详解

<!-- 需要改成自己workspace的 Jmeter 目录--> <property name="jmeter.home" value="JmeterforJenkins/apache-jmeter-2.13" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="JmeterforJenkins/apache-jmeter-2.13/bin/JmeterResult" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="JmeterforJenkins/apache-jmeter-2.13/bin/ReportHtml" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" /> 
<property name="jmeter.result.htmlTestName" value="${jmeter.result.html.dir}/${ReportName}_Detail.html" />

2.target信息主要定义写执行的动作

<target name="all"> <antcall target="test" /> <antcall target="report" /><antcall target="zipfile" /></target> <target name="reportfile"> <antcall target="report" /> <antcall target="zipfile" /> </target>

这里有两个,一个是all的动作,包括执行test,生成report,打包成zip附件

一个是reportfile,包括生成report,打包成zip附件。

<xsltclasspathref="xslt.classpath"force="true"in="../../../${jmeter.result.jtlName}" out="../../../${jmeter.result.htmlName}" style="../../../${jmeter.home}/extras/jmeter-results-detail-report_30.xsl"><param name="dateReport" expression="${report.datestamp}"/></xslt><xsltclasspathref="xslt.classpath"force="true"in="../../../${jmeter.result.jtlName}" out="../../../${jmeter.result.htmlTestName}"        style="../../../${jmeter.home}/extras/jmeter-results-detail-reprot-request.xsl"><param name="dateReport" expression="${report.datestamp}"/></xslt> 

3.这两个xslt的动作主要是输入jtl文件,然后转成成html文件,如果是绝对路径那就直接可以写绝对路径,如果是相对路径的话则会取到当前所在路径加上定义的路径,所以inputout加了一些../的操作,这个主要就是返回上一级目录。

<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="../../../${jmeter.result.html.dir}"> <fileset dir="../../../${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy><copy todir="../../../${jmeter.home}/ReportHtml"> <fileset dir="../../../${jmeter.result.html.dir}"> <include name="collapse.png" /> <include name="expand.png" /><include name="*.html" /> <!--<include name="${ReportName}_test.html" />  --></fileset> </copy>

4这个copy主要是因为report中有用到两个图片要从extras文件拷贝到report目录,还有做了report文件的拷贝,拷贝到外层一目录下

<target name="zipfile"><zip destfile="../ReportHtml/JmeterReport.zip" basedir="../ReportHtml" includes="**/*.html **/*.png"/></target>
  1. 这个主要用作打包,把最终生成的report打包成附件邮件发送
  2. 这个build中用到了两个重要的文件xsl文件,这是两个生成report时要引用的一个报告样式文件

jmeter-results-detail-reprot-request.xsl

jmeter-results-detail-report_30.xsl

3.执行jenkins之前动作

在本地执行build文件看是否正常build,选择build.xml,右键run as

选择ant build动作

然后在打开页面的勾选“reportfile” 这个target动作,其他的不用选,然后执行

看到执行结果如果是success的话就可以在jenkins执行了


http://www.ppmy.cn/news/427631.html

相关文章

PCB线路板的制作过程 2021-10-11

一般pcb制板过程有哪些&#xff1f; Pcb生产一般分为&#xff1a;PCB布局→芯板的制作→内层PCB布局转移→芯板打孔与检查→层压→钻孔→孔壁的铜化学沉淀→外层PCB布局转移→计算机控制与电镀铜。具体操作流程如下&#xff1a; 01 PCB布局&#xff08;Layout&#xff09; PC…

Centos7.9.2009 安装最新Docker、Docker-Compose、私有仓库并使用dockerfile构建镜像

卸载删除干净 $ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine设置 $ sudo yum install -y yum-utils$ sudo yum-config-manager \--add-repo \https://download.d…

【今日CV 计算机视觉论文速览 第129期】Wed, 12 Jun 2019

今日CS.CV 计算机视觉论文速览 Wed, 12 Jun 2019 Totally 52 papers ?上期速览✈更多精彩请移步主页 Interesting: ?Shapes and Context, 研究人员提出了一种从语义标签图合成图像以及操作图像内容的方法&#xff0c;具有丰富的适应性、可以合成十分高分辨的图像&#xff0c…

图形世界分裂的两派——理清D3D和OpenGL的脉络

转载自&#xff1a;http://www.iieeg.com/newscon.php?id8388 计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术&#xff0c;API(Application Programming Interface)即“应用程序接口”是连接应用程序与操作系统、实现对计算机硬件控制…

【模渲大师后期】——渲染带PS功能(模渲大师

渲染带PS功能(模渲大师 众所周知、改图是几乎被所有人默认的设计行业的普遍现象&#xff0c;就好像不该图的方案就不是好方案。而改图也有再收费和免费以及各种改图的规矩&#xff08;先不谈这个&#xff09;。那么作图、改图如果可以很快&#xff0c;那是不是可以更好提高自己…

【模渲大师预设】——W10系统关闭安全卫士教程和属性快速设置

——W10系统关闭安全卫士教程和属性快速设置 众所周知、改图是几乎被所有人默认的设计行业的普遍现象&#xff0c;就好像不该图的方案就不是好方案。而改图也有再收费和免费以及各种改图的规矩&#xff08;先不谈这个&#xff09;。那么作图、改图如果可以很快&#xff0c;那是…

【模渲大师菜单功能】——13渲染文件

模渲大师菜单功能之渲染-13渲染文件 众所周知、改图是几乎被所有人默认的设计行业的普遍现象&#xff0c;就好像不改图的方案就不是好方案。而改图也有再收费和免费以及各种改图的规矩&#xff08;先不谈这个&#xff09;。那么作图、改图如果可以很快&#xff0c;那是不是可以…

【模渲大师菜单功能】——09快速相机功能

【模渲大师菜单功能】——09快速相机功能 众所周知、改图是几乎被所有人默认的设计行业的普遍现象&#xff0c;就好像不该图的方案就不是好方案。而改图也有再收费和免费以及各种改图的规矩&#xff08;先不谈这个&#xff09;。那么作图、改图如果可以很快&#xff0c;那是不是…