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

     

  • 相关阅读:
    Jakarta雅加达项目简介
    java的Commons包简介
    装饰者模式
    命令模式
    桥接模式
    适配器模式
    观察者模式
    模板模式
    责任链模式
    CentOS搭建NAT和DHCP服务,实现共享上网
  • 原文地址:https://www.cnblogs.com/chongyou/p/7891949.html
Copyright © 2020-2023  润新知