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、日志打印,可以看到我们日志中的每个走向

 

 

转载于:https://www.cnblogs.com/chongyou/p/7891949.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值