




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、quick start我们以python为例,写几个keyword,然后根据keyword编写test cases;执行case。(1)write keyword新建一个ExampleLibrary.py,代码如下:def simple_keyword(): Log a message print You have used the simplest keyword.def greet(name): Logs a friendly greeting to person given as argument print Hello %s! % namedef multiply_by_two(number): Returns the given number multiplied by two The result is always a floating point number. This keyword fails if the given number cannot be converted to number. return float(number) * 2def numbers_should_be_equal(first, second): print *DEBUG* Got arguments %s and %s % (first, second) if float(first) != float(second): raise AssertionError(Given numbers are unequal!)(2)编写html格式的test cases用RIDE可以很轻松的编写(3)执行:pybot example_tests.html(4)查看日志:2、keywords(1)内置keyword例如, 验证 (e.g. Should Be Equal, Should Contain), 转换(e.g. Convert To Integer) 以及其他的 (e.g. Log, Sleep, Run Keyword If, Set Global Variable).执行情况:(2)library keywordRobot的标准库有OperatingSystem、Telnet、Collections、String、Dialogs、Screenshot、Remote,通过在setting table里引入,就可使用了。(3)自定义keyword我们可以在html文件中自定义keyword(4)用python或java写的keyword如开头所介绍的用python写的keyword。3、variables(1)定义变量或者在运行命令行的时候定义:pybot -variable USERNAME:test -variable PASSWORD:123123 example.html(2)使用变量4、组织测试用例(1)文件结构一个文件是一个test suite,包含多个case;一个文件夹是更高一层的test suite,包含多个文件(test suite),文件夹中还可包含多个文件夹(目录结构)。如下:examples下包括多个文件夹,每个文件夹下又有多个html文件执行pybot examples,可以看到如下执行情况:(2)Setup and teardown如果你希望让一系列动作在每个测试执行之前或之后发生,使用Test Setup 和 Test Teardown;同样你也可以使用Suite Setup 和 Suite Teardown 设置来指定在整个测试套件执行之前和之后执行的动作。(3)使用tags执行的时候可以选择tag来执行:pybot -include smoke quickstart.html(执行包含smoke tag的test data)pybot -exclude database quickstart.html(不执行包含database tag的test data)5、进阶(1)用java写keyword以包的形式组织好我们的library,例如FtpLibrary里包括ftp基本的操作(login、uploadFile、downFile)其中有以下几点需要注意:1)Test library范围TEST CASE: case内可以共享该实例TEST SUITE:每个case可以共享该实例GLOBAL:整个执行期间就创建一个实例Python:ROBOT_LIBRARY_SCOPE = TEST SUITEJava:public static final String ROBOT_LIBRARY_SCOPE = GLOBAL;2)Test versionPython:_version_ = 0.1Java:public static final String ROBOT_LIBRARY_VERSION = 1.0.0;3)注释格式写好keyword的注释,以便之后生成keyword信息以供RIDE使用。/* * Library for demo purposes. * * This library is only used in an example and it doest do anything useful. */public class ExampleLib /* * Takes one argument and *does nothing* with it. * * Example: * | Your Keyword | xxx | * | Your Keyword | yyy | */ public void yourKeyword(String arg) (2)将keyword打包我们可以使用ant或maven将所有library打成一个jar包,以方便我们使用。Ant使用样例如下:http ftp samba rest(3)生成keyword documentation用libdoc.py创建关键字文档,以让RIDE可以显示与搜索。Libdoc.py位于robot framework的tools目录下。1)生成xml格式的文档信息:set CLASSPATH=jython libdoc.py -f xml com/trend/wsg/ta/library/FtpLibrary.java2)将生成的xml放到pythonpath目录中 (例:C:Python27Lib;只能放在python的path中,因为RIDE只能在python环境下运行)3)然后打开RIDE,引入com.trend.wsg.ta.library.FtpLibrary后在tools-serch keywords中即可找到关键字及其描述。以下是我写的一个脚本:先设置这些java文件所需依赖的jar包,然后用libdoc.py生成文档信息到python的lib目录下。echo offREM if you install the robot in python, you must set the envirenment variable PYTHON_HOMEREM if you install the robot in jython, you must set the envirenment variable JYTHON_HOME and JAVA_HOMEcd srcREM set robot pathset python_path=%PYTHON_HOME%Libsite-packagesrobotset jython_path=%JYTHON_HOME%Libsite-packagesrobotif exist %python_path% (set robot_path=%PYTHON_HOME%Libsite-packages) else (if exist %jython_path% (set robot_path=%JYTHON_HOME%Libsite-packages) else (echo please install robot!pausecd ./goto :eof)REM classpathset CP=.for %j in (.libdist*.jar) do ( call :set_cp %j)for %j in (.libjar*.jar) do ( call :set_cp %j)set CLASSPATH=%CP%;%JAVA_HOME%libtools.jarREM generate the docfor %i in (com/trend/wsg/ta/library/*.java) do (call :gen_java_doc %i)cd ./for %i in (lib/py/*.py) do (call :gen_py_doc %i)goto :eofREM if the doc exist, delete firtst then generate:gen_java_doc:src_name is like Hello.java;file_name is Hello set src_name=%1set file_name=%src_name:0,-5%set dst_file=%PYTHON_HOME%Libcom.trend.wsg.ta.library.%file_name%.xmlif exist %dst_file% (del /s /q %dst_file%)call jython -Dpython.path=%robot_path% ./libdoc.py -f xml -output %PYTHON_HOME%Lib com/trend/wsg/ta/library/%src_name%goto :eof:gen_py_doc:src_name is like Hello.py;file_name is Hello set src_name=%1set file_name=%src_name:0,-3%set dst_file=%PYTHON_HOME%Lib%file_name%.xmlif exist %dst_file% (del /s /q %dst_file%)call jython -Dpython.path=%robot_path% ./libdoc.py -f xml -output %PYTHON_HOME%Lib lib/py/%src_name%goto :eofREM set the classpath:set_cp set CP=%CP%;%1goto :eof生成的document如下:打开RIDE,引入这些library:打开tools-serch keywords,即可看到这些keyword的信息。写keyword的时候,也可以显示出相应的keyword信息。(4)运行test(1)运行说明1)python环境下Test case中引入的library只能是.py2)jython环境下引入的library可以是.py也可以说.class,java的文件要先编译好才能用。不能引入jar包。3)jar包可以在运行时加上-pythonpath xxx.jar,或者放在classpath变量里以下是我们写的一个wsg的test cases。由于我们写的keyword包括java和python,故只能在jython环境下执行。1) 自定义脚本运行设置运行所需要的jar包,然后再运行caseecho offset CP=.for %j in (libjar*.jar) do ( call :set_cp %j)for %j in (libdist*.jar) do ( call :set_cp %j)set CLASSPATH=%CP%jybot -outputdir output -pythonpath lib/py/ case/wsg.htmlgoto :eof:set_cp set CP=%CP%;%1goto :eof2) 命令行执行jybot -outputdir output -pythonpath libSTARSTAR.jar -escape star:STAR casewsg.html-outputdir指定log生成的目录(可以是远端的目录,如:homeautolaboutput)-pythonpath指定引入jar包的path(jar包可以放在远端,如:homeautolablib*.jar)-escape用于将STAR替换成*,这里使用的意思是引入d:mylib目录下所有jar包要执行的test case也可放在远端,如 :homeautolabtestcasewsg.ht
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美妆集合店供应链创新报告:2025年高效物流与库存管理策略
- 美妆集合店产品研发与创新趋势分析报告
- 中国邮政2025六盘水市秋招寄递物流运营类岗位高频笔试题库含答案
- 舟山市烟草公司2025秋招综合管理类岗位高频笔试题库含答案
- Unit 4 Section A (2a-2f) 说课稿 2024-2025学年人教版英语七年级上册
- 中国邮政2025定西市秋招综合管理职能类岗位高频笔试题库含答案
- 光伏与风光储氢醇融合发展规划实施方案
- 盐城市烟草公司2025秋招笔试行测题专练及答案
- 2025山东省莱西市中考物理试卷含完整答案详解【全优】
- 美妆电商行业用户干性肤质偏好趋势分析报告2025
- 农村建设工匠考试试题及答案
- 2025-2030年中国核子及核辐射测量仪器行业竞争格局及发展趋势分析报告
- 《系统性红斑狼疮疾病解析》课件
- 职业技术学院2024级药膳与食疗专业人才培养方案
- 《介入治疗技术在临床应用中的进展》课件
- 2024年4月全国自考00054管理学原理真题
- 银行保险机构安全保卫工作自查操作手册
- 2025-2030中国咖喱粉市场消费调查及投资效益趋势预测研究报告
- 大学英语四六级词汇表
- 餐饮食堂“十统一六到位”管理培训
- 工业生产许可证实施细则
评论
0/150
提交评论