RF系列2-WEB测试第一步

上一篇 / 下一篇  2018-05-30 11:06:03 / 个人分类:Robotframework


7SXG1]9S051Testing软件测试网w|@;lf'NF

一.打开ride,新建工程51Testing软件测试网,Q5\ @ Sh&x DN4U IJF

1.建议type选择:direction和txt格式51Testing软件测试网 Z-|_"QN:I

51Testing软件测试网D1q \4m/@`}+W H

2. 工程下新建文件夹测试用例51Testing软件测试网 r,bv0`.Rv

3. 测试用例下新建套件testsuit1,并导入selenium库以及OperatingSystem库

8~ntH6rrx9oh0

   注:除bulit库外,其他库使用前都需要先导入才能使用,可按F5可查看关键字

j0p _w.U0

51Testing软件测试网Zr AP,|!{#\f

4. Testsuit下新建测试用例testcase151Testing软件测试网1I#Bc$A.~6j `4w ^

5. 测试用例输入以下内容51Testing软件测试网kX-|W.U8y|6WR

  Open Browserhttps://www.baidu.com/chrome51Testing软件测试网0o X EBf(m6tU

sleep2

.Z`0K:oJU5f7d6hA['d0

Wait Until Element Is Visiblecss=#kw30

'F8u8J IKyN0

Close Browser

1yz@s.Z9v~0

OperatingSystem.Runtaskkill /F /IM \ chromedriver.exe /T

o8n8emq0

 51Testing软件测试网w1Oty2i-k!@

用例执行:打开浏览器并等待输入框的现实,然后关闭浏览器,并关闭chromedriver.exe51Testing软件测试网)W'N}J+o6k

 

8_ BT;i\Cq eya&@0

*注:输入关键字时,可以使用ctrl+space,自动带出相关关键字,如果该快捷键与输入法有冲突,请更改输入法按键设置后重启电脑即可生效

_$l2x(\Ow-e)n#ex*hU0

6. 切换到run标签,点击start按钮,执行用例,执行完成后,点击report可以查看报告

g,t:{;r7cZ4N.C0

二.生成用户关键字51Testing软件测试网:\1]{ C1rnun

鼠标选中用例第一行,底色变为蓝色,右键,选择extract keyword51Testing软件测试网hr&LA&^e*H5v.g};W

_ J5cL9^1k$M2?O B!a0

输入关键字名称以及参数,给browsertype一个默认参数

+pq d0F Ra~0

修改关键字内容:51Testing软件测试网5lj'Xx'D#^^-X!V

Open Browser${url}${browsertype}

!}6\B2a*? G-Z0

修改用例:

WZ1LY'U9fp0

打开浏览器https://www.baidu.com/

(e|J/^ v,PEO0

 

K5g.osAZn0

执行下,结果没问题

*D1\F4wP+Qr1@9y0

关键字目前是在用例目录下,我们把关键字放到单独一个目录51Testing软件测试网PObr lO_.}

根目录新建文件夹-关键字51Testing软件测试网,YaZ,f/FC0x

文件夹下新建资源文件-resource51Testing软件测试网l.{O"TM"VP k4{2]

把之前的关键字拖到资源文件夹下51Testing软件测试网or G~+I

这时我们发现原来用例里面的步骤变黑了,因为关键字移动了,我们需要去引用下51Testing软件测试网 L$O$C:Qe4zbO{

Testsuit里resource引用下关键字所在的资源文件51Testing软件测试网VRTp$]

再跑下看看,51Testing软件测试网]E"]l8N@-z

三.使用变量

OMG.q)ghNO0

选中用例中的url,邮件选择extract variable,生成变量

_ i'NF ?&c|8|s5l z4s0

51Testing软件测试网FS-d5t3d4x;A8k*nP

 51Testing软件测试网\hp dC

新建个文件夹以及资源文件,把改变量拖动到下面,并引用

V Ve|%aF0GJ0

我们还可以导入外部变量文件(py文件51Testing软件测试网 Jc:K#`-Z:Y#Q

变量文件myvars.py,文件内容如下:51Testing软件测试网Akp0MbRP{9y&x B

#coding=utf-8

/C(o+m9Z6?;WV0

import datetime

"MM"Co0Q0

import random

qp&G/{:J0

 51Testing软件测试网0kP5Yp"Dv!X"c/aV5{G

username='www'

M7t4T2kO^#b0

password='123456'51Testing软件测试网| |7d`[RDE#\

#列表变量51Testing软件测试网e A~DveQ|-~ Gj

LIST__LIST1 = ["ONE", "TWO"]

v2W,S.KuX0

randomani=random.choice(LIST__ANIMALS)

L,t;K8ou&c0

nows= datetime.datetime.strftime(datetime.datetime.now(),'%Y-%m-%d')

MMMc`[0

#字典变量51Testing软件测试网9Bh#gH9n`D

DICT__DICT1={'id1': 001, 'id2': 002}

&ok"]Tp4w?9iK0

使用Variable导入

(U y+djF1[ c0

调用:51Testing软件测试网TXN_)Z7ot&]

log${LIST1}

'Su/d+pA5g9u3f0

log${nows}

ak6^z9uG0j;R?0

log${DICT1.id1}51Testing软件测试网,n:RbkE$w8hXq v

log${randomani}

[`:g*I P"}0

我们看下套件的引用

#zyR I&]Y%n0

bo B,W4O8s0

 

:Q!n p?I.y T:fnU0

有个问题,如果别的套件也要引用公共关键字以及公共资源文件,每次都要引入这么多比较麻烦了,51Testing软件测试网W O ui3@H:w"_7J%q

可以再创建个资源,引用全部公共资源,而套件只需要引入改文件即可51Testing软件测试网tG}J T

?L8I |6y3Z0

在套件里只需要引用这一个文件即可51Testing软件测试网P] {1aU|9L

\#u o6m*]0

四.自定义库51Testing软件测试网E(@9^.R'P9q

1. D:\Python27\Lib\site-packages目录下创建mylibrary文件夹

u:Fw rB5lX0

2. 文件夹下新建mylib.py

%\gG+q%W&i$^0

   输入:51Testing软件测试网&T0nk9k7R r+Q2_v|V*S

  #codeing=utf-851Testing软件测试网`(C;Oi+nf

class mylib(object):51Testing软件测试网(qf_vO|"a

    def printmsg2(self):51Testing软件测试网 m5FRk7ho

        print 'hello rf!'

Y"`3De*Eb0

 

O9`:b$BQPHP0

新建__init__.py,输入51Testing软件测试网\o+U K g;oJ

from mylibrary.mylib import mylib51Testing软件测试网-fT)b P o&[v0f"c

 

rB}7kK.U0

class mylibrary(mylib):

Ly1T#|'e8cDY~0

ROBOT_LIBRARY_SCOPE = 'GLOBAL'

-NS B/\,@` y/Ig0

3. 引用-mylibrary2库,就可以直接使用printmsg2方法了51Testing软件测试网Co6`O*@)c9jM

*如果库文件需要放到工程目录下,则需要把该路径添加到python的环境变量中51Testing软件测试网)[4}$B5PA$H,~P;f IF

python文件夹下创建.pth文件,输入库的绝对路径,就可以了51Testing软件测试网 N"E{oK:W}

也可以在运行时动态导入库

]5djf2H@5S-\0

Import Library |${CURDIR}/../自定义库/mylibrary2

W g!l!Rhg$HwB0

工程的基本框架如下:51Testing软件测试网*W AFKd)J*e

51Testing软件测试网&O;]G{B N

 51Testing软件测试网"|hlp$W5{j_

 

7a0F'}:Q ||N0

TAG:

 

评分:0

我来说两句

Open Toolbar