RF系列2-WEB测试第一步

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


ozzg$ZP l1P4f0

6q8u2]TLw7l0

一.打开ride,新建工程

*j!q"Rx\ Z^0

1.建议type选择:direction和txt格式

N Nd@5VZ*h4g0

2`Cf^X0

2. 工程下新建文件夹测试用例51Testing软件测试网+A(I-N `ozMfZ$s-\

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

'S1HmefC+q0A0

   注:除bulit库外,其他库使用前都需要先导入才能使用,可按F5可查看关键字51Testing软件测试网i)N+n6V-r

{] N`o Q:g0

4. Testsuit下新建测试用例testcase1

k qN7K;X*B0

5. 测试用例输入以下内容51Testing软件测试网*[(X4[w4O1Yq5B

  Open Browserhttps://www.baidu.com/chrome51Testing软件测试网 H7X(t0|/mO

sleep251Testing软件测试网q3?C5Yn

Wait Until Element Is Visiblecss=#kw30

'S9W%cXgT0

Close Browser51Testing软件测试网n3x8Y9}j-y!\2R8T3O

OperatingSystem.Runtaskkill /F /IM \ chromedriver.exe /T51Testing软件测试网od8|^9CKB

 

o)| N!@;W3ldgR0

用例执行:打开浏览器并等待输入框的现实,然后关闭浏览器,并关闭chromedriver.exe51Testing软件测试网K\ke7bb,GSV

 51Testing软件测试网J.J1P"R:z)b^

*注:输入关键字时,可以使用ctrl+space,自动带出相关关键字,如果该快捷键与输入法有冲突,请更改输入法按键设置后重启电脑即可生效51Testing软件测试网/_*EU7a7@UF

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

MBJ8w c}oN\$f _ v$gJ0

二.生成用户关键字

7JI$]snyEa1i+^0

鼠标选中用例第一行,底色变为蓝色,右键,选择extract keyword51Testing软件测试网I6M+d:ouC%N

51Testing软件测试网8w:d~A^#]+seb

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

rj{]C9I;Y9N0

修改关键字内容:51Testing软件测试网:S9@d t.j R

Open Browser${url}${browsertype}

!WI8a.N,j7Iz_0

修改用例:

Y qX2n&pyRW0

打开浏览器https://www.baidu.com/51Testing软件测试网A h c&X)O:b;F4J

 51Testing软件测试网d\ b'h;R(V,E1M

执行下,结果没问题

!v ^ p9I'Q%}x hC+G/Q-u0

关键字目前是在用例目录下,我们把关键字放到单独一个目录51Testing软件测试网6[Na)[5q

根目录新建文件夹-关键字51Testing软件测试网"Y~WB@|e

文件夹下新建资源文件-resource51Testing软件测试网!]3L8ss{x N

把之前的关键字拖到资源文件夹下51Testing软件测试网*m+J-D/Yk f`

这时我们发现原来用例里面的步骤变黑了,因为关键字移动了,我们需要去引用下

%X:L3a ?.R(y c0

Testsuit里resource引用下关键字所在的资源文件

)Fd2ex2Ma%p0

再跑下看看,

.wGE'[T!q/^&|{6Q^0

三.使用变量51Testing软件测试网yP4jV&i0P3RFm!^K(p~

选中用例中的url,邮件选择extract variable,生成变量51Testing软件测试网 _P)GFAk

51Testing软件测试网X%y7h,_0[$M:v

 51Testing软件测试网 g$?o(Sa

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

+]lZ(F%h7[)p%F0

我们还可以导入外部变量文件(py文件

\ isycl3C K"O.j0

变量文件myvars.py,文件内容如下:

x4|W-zGlHh0

#coding=utf-8

/M%cHJ,L1U&XTd0

import datetime51Testing软件测试网@2k,[MZ.|f

import random51Testing软件测试网]4? i(Aa

 

m ePn|\4s"orN0

username='www'51Testing软件测试网 m:Rg+W^

password='123456'51Testing软件测试网6G&rU w4\1w3yR

#列表变量

Y,T^rni p"Wa0

LIST__LIST1 = ["ONE", "TWO"]

,I1x{vM&A@h/j5dZ0

randomani=random.choice(LIST__ANIMALS)

J)nI{V\9t%v0

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

Qr as aUp*@/p Q*^0

#字典变量51Testing软件测试网I4~x/R{6q

DICT__DICT1={'id1': 001, 'id2': 002}51Testing软件测试网E9?8@7WX0v(pK/b!j

使用Variable导入51Testing软件测试网Tua-XS;{)n xoKRh

调用:

PJ'U FM u2V`3M0

log${LIST1}51Testing软件测试网^ [x7c*h3Q I6l2E

log${nows}51Testing软件测试网 zg.c6G(FdJW8Q

log${DICT1.id1}

/{@\A K;jr9s#R0

log${randomani}51Testing软件测试网$u4dh1A4E v,wU

我们看下套件的引用51Testing软件测试网-?:j~ @}(j!b }%b

|XJK1P@0

 51Testing软件测试网 sfL6x @Y L

有个问题,如果别的套件也要引用公共关键字以及公共资源文件,每次都要引入这么多比较麻烦了,51Testing软件测试网Hu&r @"v"\

可以再创建个资源,引用全部公共资源,而套件只需要引入改文件即可

HYI[%\0

N:^R sT0

在套件里只需要引用这一个文件即可51Testing软件测试网P7Wl]@R|Zs/|@

51Testing软件测试网HS/}"R|y'Jml m,k n

四.自定义库51Testing软件测试网W(o,b"p{2_(U&K

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

~&r S r+Ax-pd0

2. 文件夹下新建mylib.py51Testing软件测试网tP6a&osi;w

   输入:

-l] N^Dr]0Ji7B S1p0

  #codeing=utf-851Testing软件测试网 S9Djy!rH#w

class mylib(object):51Testing软件测试网+aT@5nVh

    def printmsg2(self):

j Ehk_T$b&D/`0

        print 'hello rf!'51Testing软件测试网G&XM7fv nh

 

j J$P3a6U5[1L6`0

新建__init__.py,输入

c@p Ag p z:xC)}D0

from mylibrary.mylib import mylib51Testing软件测试网{%K*fm$F

 

8IL7V*Kq I1@ Q!y[0

class mylibrary(mylib):

pVYDa/B4L0

ROBOT_LIBRARY_SCOPE = 'GLOBAL'51Testing软件测试网4Z}gm4S

3. 引用-mylibrary2库,就可以直接使用printmsg2方法了

1C o'G'pSp%J/`3NQ0

*如果库文件需要放到工程目录下,则需要把该路径添加到python的环境变量中51Testing软件测试网L _5HC~#A([VYL&x

python文件夹下创建.pth文件,输入库的绝对路径,就可以了

^#`lf_$m,m5i0

也可以在运行时动态导入库51Testing软件测试网0H_/D\ \p&tBN~

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

|$x8B8eNV0

工程的基本框架如下:51Testing软件测试网%|]UUAS v

51Testing软件测试网1_2[:uB]3d;jv4{

 51Testing软件测试网d o;Uo:hg*[4D

 51Testing软件测试网@}Cy v s


TAG:

 

评分:0

我来说两句

Open Toolbar