; ;

robotframework实战三--自定义关键字

 

 

在rf的实战1中,我的登录获取验证码就使用了自定义关键字,具体怎么做的,如下

1.新建文件夹

新建一个文件夹,我的MyLibrary,并且存放在site-packages下

 

2.编写代码

在python的编译器中把需要的代码编写完成,并且运行成功,以下代码就是获取页面的session,生成随机数,拿到session+key+随机数,生成MD5,在和请求一起get请求,返回验证码,代码在本地编译没有问题

import random
import hashlib
import types
import requests
key="XXXXXXXXX"
class verificationCode(object):
    def __init__(self):
        self.encryptiontest = ''
    def code(self,cookie):
     # 随机数
        letter = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        requestId = []
        requestId.append(''.join(random.sample(list(letter), 6)))
        randomNumber=''.join(requestId)
        data = "a:1:{s:10:\"session_id\";s:26:\"" + cookie + "\";}"
        getsign = key + randomNumber + data  # 获得密匙
        # MD5加密
        m = hashlib.md5()
        m.update(getsign)
        self.encryptiontest=m.hexdigest()
        #get请求
        url = "https://rosewholesale.com/auto/api.php"
        textmod = {'XXXX': 'XXX', 'act': 'XXX', 'requestId': randomNumber, 'sign': self.encryptiontest, 'data': data,'ftc': 'XXXX'}
        r = requests.get(url, params=textmod)
        print "code:",r.status_code
        getcontent=r.text
        print u'返回的内容:',getcontent
        converturl = str(getcontent)
        splitStr = converturl[-76:-70]
        print u'验证码为:',splitStr
        return  splitStr

if __name__ == '__main__':
    verif=verificationCode()
    verif.code('aq3k8qphile1nrknarpnjb9eg0')

3.文件夹创建一个init文件,如下

文件夹中包含两个py文件

4.rf导入文件

 

 

 

如果导入后没有显示红色说明导入成功

5.使用自定义关键字

使用F5查找,查看是否引入了文件夹 

使用在项目中

可以看见我的项目中是需要一个页面的cookie,目前获取的cookie给了一个变量cookie,而code就是我们刚刚定义的变量,把cookie给code,在到id为code的输入框中进行输入(验证码输入框),输入

你看是否成功,1.界面显示 2、日志打印,可以看到我们日志中的每个走向

 

 

posted @ 2017-11-24 18:51  做梦的人-  阅读(6569)  评论(0编辑  收藏  举报