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

时间: 2024-08-05 00:12:07

robotframework实战三--自定义关键字的相关文章

C#中三个关键字params,Ref,out

关于这三个关键字之前可以研究一下原本的一些操作 using System; using System.Collections.Generic; using System.Text; namespace ParamsRefOut { class Program { static void ChangeValue(int i) { i=5; Console.WriteLine("The ChangeValue method changed the value "+i.ToString())

Python机器学习实战<三>:k-邻近算法

安装说明参考openssl源码文件夹下INSTALL.W32 step1 环境搭建 安装perl,Visual Studio 2008 下载Openssl最新版源码.我下的版本为OpenSSL-1.0.0g. step2 启动Visual Studio 2008 Command Prompt 运行bin\vcvars32 设置 环境变量 注意: 如遇反馈"此处不应该有/Microsoft",参考错误1. step3 VS命令行窗口cd至openssl源码文件夹 执行以下命令 $perl

php中this,self,parent三个关键字

phpfunctionclass语言c this,self,parent三个关键字从字面上比较好理解,分别是指这.自己.父亲. this是指向当前对象的指针(姑且用C里面的指针来看吧) self是指向当前类的指针 parent是指向父类的指针(我 们这里频繁使用指针来描述,是因为没有更好的语言来表达) 根据实际的例子来看看 (1) this 1 <?php 2 3 class UserName 4 {  5     //定义成员属性  6     private $name; 7  8    

机器学习实战三(Naive Bayes)

机器学习实战三(Naive Bayes) 前两章的两种分类算法,是确定的分类器,但是有时会产生一些错误的分类结果,这时可以要求分类器给出一个最优的猜测结果,估计概率.朴素贝叶斯就是其中一种. 学过概率论的人对于贝叶斯这个名字应该是相当的熟悉,在学条件概率的时候,贝叶斯公式可谓是一针见血.这里的"朴素贝叶斯",是因为在计算贝叶斯概率的时候只考虑最原始.最简单的假设. Naive Bayes(朴素贝叶斯) 优点:在数据较少的情况下依然有效,可处理多类别问题. 缺点:对于输入数据的格式要求严

c/c++ 标准库 set 自定义关键字类型与比较函数

标准库 set 自定义关键字类型与比较函数 问题:哪些类型可以作为标准库set的关键字类型呢??? 答案: 1,任意类型,但是需要额外提供能够比较这种类型的比较函数. 2,这种类型实现了 < 操作. 答案1的详细说明:声明set时,除了给出元素类型外,还需要给出一个比较函数的类型,注意是类型,不是变量 方式1:使用decltype,注意后面必须有* multiset<Book, decltype(compareIsbn)*> bookstore(compareIsbn);//compar

Thrift RPC实战(三) thrift序列化揭秘

本文主要讲解Thrift的序列化机制, 看看thrift作为数据交换格式是如何工作的? 1.构造应用场景: 1). 首先我们先来定义下thrift的简单结构. 1 2 3 4 5 namespace java com.yangyang.thrift.api struct Pair { ? ? 1: required string key ? ? 2: required string value } required修饰符你肯定能猜测到它的意义, 但是你是否有没有这样的疑惑, "1",

[Aaronyang] 写给自己的WPF4.5 笔记13[二维自定义控件技巧-可视化状态实战,自定义容器,注册类命令,用户控件补充]

 我的文章一定要做到对读者负责,否则就是失败的文章  ---------   www.ayjs.net    aaronyang技术分享 博文摘要:欢迎大家来支持我的<2013-2015 Aaronyang的又一总结,牧童遥指纳尼村>绝对好文章 关于<写给自己的WPF4.5 笔记14,已在官网发布> 1.讲解了自定义控件加入命令支持的两种手段,补充用户控件的客户定义模板 2.实战的方式讲解了无外观控件,可以让使用者定义模板,讲解模板PART,使用可视化状态组,动画的使用 效果演示:

通过代码审计找出网站中的XSS漏洞实战(三)

一.背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘.工具挖掘.代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/1190000016095198 本文主要记录通过代码审计的方式进行XSS漏洞挖掘,分为了找出关键位置,正向审计,反向审计三个部分,审计的系统为permeate渗透测试系统,测试系统的搭建可以参考笔者的

C# Redis实战(三)

三.程序配置 在C# Redis实战(二)中我们安装好了Redis的系统服务,此时Redis服务已经运行. 现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web.config文件中添加如下信息: [html] view plain copy <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.mi